Merge pull request #451 from matrix-org/markjh/branch_coverage
Generate code coverage report when running jenkins.shpull/452/head
						commit
						f85949bde0
					
				
							
								
								
									
										21
									
								
								jenkins.sh
								
								
								
								
							
							
						
						
									
										21
									
								
								jenkins.sh
								
								
								
								
							|  | @ -5,9 +5,10 @@ export PYTHONDONTWRITEBYTECODE=yep | |||
| # Output test results as junit xml | ||||
| export TRIAL_FLAGS="--reporter=subunit" | ||||
| export TOXSUFFIX="| subunit-1to2 | subunit2junitxml --no-passthrough --output-to=results.xml" | ||||
| 
 | ||||
| # Output coverage to coverage.xml | ||||
| export DUMP_COVERAGE_COMMAND="coverage xml -o coverage.xml" | ||||
| # Write coverage reports to a separate file for each process | ||||
| # Include branch coverage | ||||
| export COVERAGE_OPTS="-p" | ||||
| export DUMP_COVERAGE_COMMAND="coverage help" | ||||
| 
 | ||||
| # Output flake8 violations to violations.flake8.log | ||||
| # Don't exit with non-0 status code on Jenkins, | ||||
|  | @ -15,6 +16,8 @@ export DUMP_COVERAGE_COMMAND="coverage xml -o coverage.xml" | |||
| # UNSTABLE or FAILURE this build. | ||||
| export PEP8SUFFIX="--output-file=violations.flake8.log || echo flake8 finished with status code \$?" | ||||
| 
 | ||||
| rm .coverage.* || echo "No files to remove" | ||||
| 
 | ||||
| tox | ||||
| 
 | ||||
| : ${GIT_BRANCH:="origin/$(git rev-parse --abbrev-ref HEAD)"} | ||||
|  | @ -45,7 +48,7 @@ export PERL5LIB PERL_MB_OPT PERL_MM_OPT | |||
| : ${PORT_BASE:=8000} | ||||
| 
 | ||||
| echo >&2 "Running sytest with SQLite3"; | ||||
| ./run-tests.pl -O tap --synapse-directory .. --all --port-base $PORT_BASE > results-sqlite3.tap | ||||
| ./run-tests.pl --coverage -O tap --synapse-directory .. --all --port-base $PORT_BASE > results-sqlite3.tap | ||||
| 
 | ||||
| RUN_POSTGRES="" | ||||
| 
 | ||||
|  | @ -64,7 +67,15 @@ done | |||
| if test $RUN_POSTGRES = ":$(($PORT_BASE + 1)):$(($PORT_BASE + 2))"; then | ||||
|     echo >&2 "Running sytest with PostgreSQL"; | ||||
|     pip install psycopg2 | ||||
|     ./run-tests.pl -O tap --synapse-directory .. --all --port-base $PORT_BASE > results-postgresql.tap | ||||
|     ./run-tests.pl --coverage -O tap --synapse-directory .. --all --port-base $PORT_BASE > results-postgresql.tap | ||||
| else | ||||
|     echo >&2 "Skipping running sytest with PostgreSQL, $RUN_POSTGRES" | ||||
| fi | ||||
| 
 | ||||
| cd .. | ||||
| cp sytest/.coverage.* . | ||||
| 
 | ||||
| # Combine the coverage reports | ||||
| python -m coverage combine | ||||
| # Output coverage to coverage.xml | ||||
| coverage xml -o coverage.xml | ||||
|  |  | |||
							
								
								
									
										3
									
								
								tox.ini
								
								
								
								
							
							
						
						
									
										3
									
								
								tox.ini
								
								
								
								
							|  | @ -11,7 +11,8 @@ deps = | |||
| setenv = | ||||
|     PYTHONDONTWRITEBYTECODE = no_byte_code | ||||
| commands = | ||||
|     /bin/bash -c "coverage run --source=synapse {envbindir}/trial {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}" | ||||
|     /bin/bash -c "coverage run {env:COVERAGE_OPTS:} --source={toxinidir}/synapse \ | ||||
|         {envbindir}/trial {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}" | ||||
|     {env:DUMP_COVERAGE_COMMAND:coverage report -m} | ||||
| 
 | ||||
| [testenv:packaging] | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Mark Haines
						Mark Haines