From 172a2e7456fe3f702dd6d4da51a92ad030824294 Mon Sep 17 00:00:00 2001 From: Martin Basti Date: Jun 20 2017 10:36:29 +0000 Subject: Travis: enable temporary Py3 testing This testconfig is temporary until all plugins are migrated into py3. After that this temporal config file will be removed and used only the previous one again Reviewed-By: Stanislav Laznicka --- diff --git a/.test_runner_config_py3_temp.yaml b/.test_runner_config_py3_temp.yaml new file mode 100644 index 0000000..cece1c4 --- /dev/null +++ b/.test_runner_config_py3_temp.yaml @@ -0,0 +1,60 @@ +# +# Copyright (C) 2017 FreeIPA Contributors see COPYING for license +# + +# Configuration file for the test runner used in Travis CI +# This config file is temporal and will be used only for migration period +# from py2 to fully supported py3 + +container: + detach: true + hostname: master.ipa.test + working_dir: /freeipa +host: + binds: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + - /dev/urandom:/dev/random:ro + privileged: true + security_opt: + - label:disable + tmpfs: + - /tmp + - /run +server: + domain: ipa.test + password: Secret123 + realm: IPA.TEST +steps: + build: + - make V=0 ${make_target} + builddep: + - rm -rf /var/cache/dnf/* + - "dnf makecache fast || :" + - dnf builddep -y ${builddep_opts} --spec freeipa.spec.in --best --allowerasing + cleanup: + - chown -R ${uid}:${gid} ${container_working_dir} + configure: + - ./autogen.sh + install_packages: + - dnf install -y ${container_working_dir}/dist/rpms/*.rpm --best --allowerasing + - dnf install -y python3-mod_wsgi --best --allowerasing # Py3 temporary + install_server: + - ipa-server-install -U --domain ${server_domain} --realm ${server_realm} -p ${server_password} + -a ${server_password} --setup-dns --auto-forwarders + - ipa-kra-install -p ${server_password} + lint: + - make PYTHON=/usr/bin/python2 V=0 lint + - make PYTHON=/usr/bin/python3 V=0 pylint + prepare_tests: + - echo ${server_password} | kinit admin && ipa ping + - cp -r /etc/ipa/* ~/.ipa/ + - echo ${server_password} > ~/.ipa/.dmpw + - echo 'wait_for_dns=5' >> ~/.ipa/default.conf + run_tests: + - ipa-run-tests-3 ${tests_ignore} -k-test_dns_soa ${tests_verbose} ${path} +tests: + verbose: true + ignore: + - test_integration + - test_webui + - test_ipapython/test_keyring.py diff --git a/.travis.yml b/.travis.yml index 62578d3..56c230c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,6 @@ cache: pip env: global: - TEST_RUNNER_IMAGE="martbab/freeipa-fedora-test-runner:master-latest" - TEST_RUNNER_CONFIG=".test_runner_config.yaml" PEP8_ERROR_LOG="pep8_errors.log" CI_RESULTS_LOG="ci_results_${TRAVIS_BRANCH}.log" CI_BACKLOG_SIZE=5000 @@ -16,11 +15,14 @@ env: CI_RUNNER_LOG_ARCHIVE="freeipa-ci-pr-${TRAVIS_PULL_REQUEST}-job-${TRAVIS_JOB_NUMBER}.tar.gz" matrix: - TASK_TO_RUN="lint" + TEST_RUNNER_CONFIG=".test_runner_config.yaml" - TASK_TO_RUN="run-tests" PYTHON=/usr/bin/python2 + TEST_RUNNER_CONFIG=".test_runner_config.yaml" TESTS_TO_RUN="test_xmlrpc/test_[a-k]*.py" - TASK_TO_RUN="run-tests" PYTHON=/usr/bin/python2 + TEST_RUNNER_CONFIG=".test_runner_config.yaml" TESTS_TO_RUN="test_cmdline test_install test_ipaclient @@ -29,6 +31,92 @@ env: test_ipaserver test_pkcs10 test_xmlrpc/test_[l-z]*.py" + - TASK_TO_RUN="run-tests" + PYTHON=/usr/bin/python3 + TEST_RUNNER_CONFIG=".test_runner_config_py3_temp.yaml" + TESTS_TO_RUN="test_xmlrpc/test_baseldap_plugin.py" + ### Tests which haven't been ported to py3 yet ### + ## test_xmlrpc/test_[a-k]*.py + # test_xmlrpc/test_add_remove_cert_cmd.py + # test_xmlrpc/test_attr.py + # test_xmlrpc/test_automember_plugin.py + # test_xmlrpc/test_automount_plugin.py + # test_xmlrpc/test_batch_plugin.py + # test_xmlrpc/test_ca_plugin.py + # test_xmlrpc/test_caacl_plugin.py + # test_xmlrpc/test_caacl_profile_enforcement.py + # test_xmlrpc/test_cert_plugin.py + # test_xmlrpc/test_certprofile_plugin.py + # test_xmlrpc/test_config_plugin.py + # test_xmlrpc/test_delegation_plugin.py + # test_xmlrpc/test_dns_plugin.py + # test_xmlrpc/test_dns_realmdomains_integration.py + # test_xmlrpc/test_external_members.py + # test_xmlrpc/test_group_plugin.py + # test_xmlrpc/test_hbac_plugin.py + # test_xmlrpc/test_hbacsvcgroup_plugin.py + # test_xmlrpc/test_hbactest_plugin.py + # test_xmlrpc/test_host_plugin.py + # test_xmlrpc/test_hostgroup_plugin.py + # test_xmlrpc/test_idviews_plugin.py + # test_xmlrpc/test_kerberos_principal_aliases.py + # test_xmlrpc/test_krbtpolicy.py + - TASK_TO_RUN="run-tests" + PYTHON=/usr/bin/python3 + TEST_RUNNER_CONFIG=".test_runner_config_py3_temp.yaml" + TESTS_TO_RUN="test_cmdline + test_ipalib + test_pkcs10 + test_xmlrpc/test_ping_plugin.py" + ### Tests which haven't been ported to py3 yet ### + ## test_install + ## test_ipapython + # test_ipapython/test_cookie.py + # test_ipapython/test_dn.py + # test_ipapython/test_ipautil.py + # test_ipapython/test_ipavalidate.py + # test_ipapython/test_kerberos.py + # test_ipapython/test_ssh.py + # test_ipaserver/httptest.py + # test_ipaserver/test_changepw.py + # test_ipaserver/test_dnssec.py + # test_ipaserver/test_install/test_adtrustinstance.py + # test_ipaserver/test_install/test_service.py + # test_ipaserver/test_ipap11helper.py + # test_ipaserver/test_kadmin.py + # test_ipaserver/test_ldap.py + # test_ipaserver/test_otptoken_import.py + # test_ipaserver/test_rpcserver.py + # test_ipaserver/test_secrets.py + # test_ipaserver/test_serverroles.py + # test_ipaserver/test_topology_plugin.py + # test_ipaserver/test_version_comparison.py + ## test_ipaserver + ## test_xmlrpc/test_[l-z]*.py + # test_xmlrpc/test_location_plugin.py + # test_xmlrpc/test_nesting.py + # test_xmlrpc/test_netgroup_plugin.py + # test_xmlrpc/test_old_permission_plugin.py + # test_xmlrpc/test_passwd_plugin.py + # test_xmlrpc/test_permission_plugin.py + # test_xmlrpc/test_privilege_plugin.py + # test_xmlrpc/test_pwpolicy_plugin.py + # test_xmlrpc/test_radiusproxy_plugin.py + # test_xmlrpc/test_range_plugin.py + # test_xmlrpc/test_realmdomains_plugin.py + # test_xmlrpc/test_replace.py + # test_xmlrpc/test_role_plugin.py + # test_xmlrpc/test_selfservice_plugin.py + # test_xmlrpc/test_selinuxusermap_plugin.py + # test_xmlrpc/test_service_plugin.py + # test_xmlrpc/test_servicedelegation_plugin.py + # test_xmlrpc/test_stageuser_plugin.py + # test_xmlrpc/test_sudocmd_plugin.py + # test_xmlrpc/test_sudocmdgroup_plugin.py + # test_xmlrpc/test_sudorule_plugin.py + # test_xmlrpc/test_trust_plugin.py + # test_xmlrpc/test_user_plugin.py + # test_xmlrpc/test_vault_plugin.py install: - pip install --upgrade pip - pip3 install --upgrade pip