freeipa/.travis.yml
Martin Basti 10d4fb7ea8 py3: test_location_plugin: fix iteration over changed dict
In py3 dict.items() doesn't return list so we must create a list to
avoid changing dictionary over iteration.

https://pagure.io/freeipa/issue/4985

Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
2017-06-23 14:45:05 +02:00

147 lines
6.0 KiB
YAML

language: python
services:
- docker
python:
- "2.7"
cache: pip
env:
global:
- TEST_RUNNER_IMAGE="martbab/freeipa-fedora-test-runner:master-latest"
PEP8_ERROR_LOG="pep8_errors.log"
CI_RESULTS_LOG="ci_results_${TRAVIS_BRANCH}.log"
CI_BACKLOG_SIZE=5000
CI_RUNNER_LOGS_DIR="/tmp/test-runner-logs"
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
test_ipalib
test_ipapython
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_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_baseldap_plugin.py
test_xmlrpc/test_batch_plugin.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_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_krbtpolicy.py
test_xmlrpc/test_kerberos_principal_aliases.py"
### Tests which haven't been ported to py3 yet ###
## test_xmlrpc/test_[a-k]*.py
# test_xmlrpc/test_ca_plugin.py
# test_xmlrpc/test_caacl_plugin.py
# test_xmlrpc/test_caacl_profile_enforcement.py
# test_xmlrpc/test_dns_plugin.py
# test_xmlrpc/test_dns_realmdomains_integration.py
# test_xmlrpc/test_external_members.py
# test_xmlrpc/test_idviews_plugin.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_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_ping_plugin.py
test_xmlrpc/test_privilege_plugin.py
test_xmlrpc/test_pwpolicy_plugin.py
test_xmlrpc/test_radiusproxy_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"
### 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_range_plugin.py
# test_xmlrpc/test_trust_plugin.py
# test_xmlrpc/test_vault_plugin.py
install:
- pip install --upgrade pip
- pip3 install --upgrade pip
- pip install pep8
- >
pip3 install
git+https://github.com/freeipa/ipa-docker-test-runner@release-0-2-1
script:
- mkdir -p $CI_RUNNER_LOGS_DIR
- travis_wait 50 ./.travis_run_task.sh
after_failure:
- echo "Test runner output:"; tail -n $CI_BACKLOG_SIZE $CI_RESULTS_LOG
- echo "PEP-8 errors:"; cat $PEP8_ERROR_LOG
- >
echo "Archiving CI logs";
if [[ "$TASK_TO_RUN" != "lint" ]]; then
tar --ignore-failed-read -uvf var_log.tar $CI_RESULTS_LOG $PEP8_ERROR_LOG;
gzip var_log.tar;
mv var_log.tar.gz $CI_RUNNER_LOG_ARCHIVE;
transfer_url=$(
curl --upload-file \
./$CI_RUNNER_LOG_ARCHIVE \
https://transfer.sh/${CI_RUNNER_LOG_ARCHIVE}) &&
echo "Download log archive from ${transfer_url}" ||
echo "Failed to upload log archive!";
fi