#4246 Change the way we run tests (move to containers) and make them pass on CentOS7
Merged by pingou. Opened by pingou.
run_test_container  into  master

Download 4246.patch
no initial comment

Each commit in this PR can (and likely should) be reviewed individually

Protip: rpmspec -q --requires /pagure/files/pagure.spec should do the trick here.

We don't need epel-testing anymore, as the update was pushed: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-dd9e038712

test_env_template got removed, but run-test-container.py needs to get fixed:

./dev/run-tests-container.py
Traceback (most recent call last):
File "./dev/run-tests-container.py", line 74, in
with open(TEMPLATE, "r") as fp:
FileNotFoundError: [Errno 2] No such file or directory: 'dev/docker/test_env_template'

These files needs to be removed entirely :)

Does this still works on F29 with the dependency generator?

17 new commits added

  • Move to container-based testing on jenkins
  • Fix runtests.py so it works in containers
  • Provide a way to run the tests in containers using RPMs on F29 and C7
  • Fix the pagure_lib_git_auth test on old system
  • Fix the request context as data is only accessible in POST requests
  • Make the SECRET_KEY a str() all the time
  • Skip running flake8 on old flake8 version
  • Adjust the unit-tests for old markdown
  • Refresh the DB session at the end of the setUp in all cases
  • Be explicit about the unicode string used as filename
  • Apparently in a CentOS7 container, it wants a fresh session more often
  • Re-organize the imports
  • Improve the centos7-rpms-py2 container
  • Make the runtest script adjust a couple of files for py3/py2 differences
  • Keep pagure working on older version of flask not having iter_blueprints
  • Move all the container definition files from a docker folder to containers
  • Write the ssh key to disk rather than relying on /dev/stdin

17 new commits added

  • Move to container-based testing on jenkins
  • Fix runtests.py so it works in containers
  • Provide a way to run the tests in containers using RPMs on F29 and C7
  • Fix the pagure_lib_git_auth test on old system
  • Fix the request context as data is only accessible in POST requests
  • Make the SECRET_KEY a str() all the time
  • Skip running flake8 on old flake8 version
  • Adjust the unit-tests for old markdown
  • Refresh the DB session at the end of the setUp in all cases
  • Be explicit about the unicode string used as filename
  • Apparently in a CentOS7 container, it wants a fresh session more often
  • Re-organize the imports
  • Improve the centos7-rpms-py2 container
  • Make the runtest script adjust a couple of files for py3/py2 differences
  • Keep pagure working on older version of flask not having iter_blueprints
  • Move all the container definition files from a docker folder to containers
  • Write the ssh key to disk rather than relying on /dev/stdin

you can directly run yum -y install https://kojipkgs.fedoraproject.org//work/tasks/5657/32535657/python-werkzeug-0.9.6-1.el7.noarch.rpm

we can drop -b run_test_container now :)

I think it would not hurt to have a comment here to explain what's going on :)

Same here I think a comment would not hurt

wouldn't we get runtests_py2.sh from the git clone in line 30 ? Then we could just use this directly instead of runtests.sh

same here we can drop the branch

A Comment would be helpful here

Same as above maybe we can just use runtests_py3.sh directly

to be removed ?

to be removed ?

why not use the dev/run-tests-container.py script for the ci also ?

Left debugging :)

Sounds good, let's try :)

Long term we probably want to, but the python script then needs to be able to report errors on build or run which the shell script will support natively.

17 new commits added

  • Move to container-based testing on jenkins
  • Fix runtests.py so it works in containers
  • Provide a way to run the tests in containers using RPMs on F29 and C7
  • Fix the pagure_lib_git_auth test on old system
  • Fix the request context as data is only accessible in POST requests
  • Make the SECRET_KEY a str() all the time
  • Skip running flake8 on old flake8 version
  • Adjust the unit-tests for old markdown
  • Refresh the DB session at the end of the setUp in all cases
  • Be explicit about the unicode string used as filename
  • Apparently in a CentOS7 container, it wants a fresh session more often
  • Re-organize the imports
  • Improve the centos7-rpms-py2 container
  • Make the runtest script adjust a couple of files for py3/py2 differences
  • Keep pagure working on older version of flask not having iter_blueprints
  • Move all the container definition files from a docker folder to containers
  • Write the ssh key to disk rather than relying on /dev/stdin

small nitpick but you don't need wget anymore :smile:

One minor comment, but LGTM feel free to merge :thumbsup:

Good call, thanks :)

17 new commits added

  • Move to container-based testing on jenkins
  • Fix runtests.py so it works in containers
  • Provide a way to run the tests in containers using RPMs on F29 and C7
  • Fix the pagure_lib_git_auth test on old system
  • Fix the request context as data is only accessible in POST requests
  • Make the SECRET_KEY a str() all the time
  • Skip running flake8 on old flake8 version
  • Adjust the unit-tests for old markdown
  • Refresh the DB session at the end of the setUp in all cases
  • Be explicit about the unicode string used as filename
  • Apparently in a CentOS7 container, it wants a fresh session more often
  • Re-organize the imports
  • Improve the centos7-rpms-py2 container
  • Make the runtest script adjust a couple of files for py3/py2 differences
  • Keep pagure working on older version of flask not having iter_blueprints
  • Move all the container definition files from a docker folder to containers
  • Write the ssh key to disk rather than relying on /dev/stdin

17 new commits added

  • Move to container-based testing on jenkins
  • Fix runtests.py so it works in containers
  • Provide a way to run the tests in containers using RPMs on F29 and C7
  • Fix the pagure_lib_git_auth test on old system
  • Fix the request context as data is only accessible in POST requests
  • Make the SECRET_KEY a str() all the time
  • Skip running flake8 on old flake8 version
  • Adjust the unit-tests for old markdown
  • Refresh the DB session at the end of the setUp in all cases
  • Be explicit about the unicode string used as filename
  • Apparently in a CentOS7 container, it wants a fresh session more often
  • Re-organize the imports
  • Improve the centos7-rpms-py2 container
  • Make the runtest script adjust a couple of files for py3/py2 differences
  • Keep pagure working on older version of flask not having iter_blueprints
  • Move all the container definition files from a docker folder to containers
  • Write the ssh key to disk rather than relying on /dev/stdin

1 new commit added

  • Save the artifacts in jenkins

There is only one test failing, the repoSpanner integration one, let's move along with this, at least it allows us to reproduce the issue locally (which we do not have currently)

Pull-Request has been merged by pingou

Metadata