Skip to content

Commit 5118f91

Browse files
committed
Coverage save atexit trial
1 parent 5c4756d commit 5118f91

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

api/web/start.py

+8-10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import atexit
12
import json
23
import os
34
import traceback
@@ -7,20 +8,17 @@
78
# Start coverage before local module loading so their def and imports are counted
89
# http://coverage.readthedocs.io/en/coverage-4.2/faq.html
910
if os.environ.get("SCITRAN_RUNTIME_COVERAGE") == "true": # pragma: no cover - oh, the irony
10-
import coverage
11-
cov = coverage.coverage(source=["api"], data_file="/tmp/.coverage.integration-tests")
12-
13-
class CoverageSaveHandler(webapp2.RequestHandler):
14-
def save_coverage(self):
15-
print("Saving coverage")
16-
cov.stop()
17-
cov.save()
11+
def save_coverage(cov):
12+
print("Saving coverage")
13+
cov.stop()
14+
cov.save()
1815

1916
def start_coverage():
17+
import coverage
2018
print("Enabling code coverage")
19+
cov = coverage.coverage(source=["api"], data_file="/tmp/.coverage.integration-tests")
2120
cov.start()
22-
from ..api import endpoints, route # pylint: disable=redefined-outer-name
23-
endpoints.append(route('/api/save-coverage', CoverageSaveHandler, h='save_coverage', m=['POST']))
21+
atexit.register(save_coverage, cov)
2422

2523
start_coverage()
2624

tests/bin/docker-tests.sh

+3-2
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,9 @@ clean_up() {
114114
docker cp core-test-runner:/src/core/.coverage .coverage.unit-tests 2>/dev/null
115115

116116
# Save integration test coverage
117-
docker exec core-test-service python -c 'import requests; requests.post("http://localhost/api/save-coverage")'
118-
docker cp core-test-service:/tmp/.coverage.integration-tests ./ 2>/dev/null
117+
docker stop core-test-service
118+
docker wait core-test-service
119+
docker cp core-test-service:/tmp/.coverage.integration-tests ./
119120

120121
# Combine unit/integ coverage and report/grenerate html
121122
docker run --rm \

0 commit comments

Comments
 (0)