aboutsummaryrefslogtreecommitdiffstats
path: root/test/functional/util/merge_coveralls.py
diff options
context:
space:
mode:
authorAnton Yuzhaninov <citrin+git@citrin.ru>2018-10-13 06:16:34 -0400
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-10-13 11:16:34 +0100
commitf1223526c78d8b3bd9a325a85e3ffb1285555faf (patch)
tree485a2385975d0c39ec97faf8e4411007931ebb80 /test/functional/util/merge_coveralls.py
parent17a7d2e236715ada721749e19bca861778060900 (diff)
downloadrspamd-f1223526c78d8b3bd9a325a85e3ffb1285555faf.tar.gz
rspamd-f1223526c78d8b3bd9a325a85e3ffb1285555faf.zip
Drone speedup (#2588)
* Start switchind test to custom Docker images Using Docker images with pre-installed delendencies will speedup testing. * Debug build in drone.io * Use variable instead hardcoded path to the source * Debug variable substitution by drone Also according to comments in code DRONE_WORKSPACE is deprecated and CI_WORKSPACE is a new form. * One more try to use variables. It looks like drone uses same rules as docker-compose: https://docs.docker.com/compose/compose-file/#variable-substitution * Cleanup debug * Less verbose make output * Be consistent in variable escaping It works without escaping only becuse ${VAR} currently expanded by drone, but $VAR is not. * Use alpine base image for nodejs It is smaller. * Return rspamd-test * Revert variable escaping Wihtout escaping it is more easy to copy-past command for testing. Just don't use ${var} when var should be expanded by shell and not drone. * Add debug * Fix yaml parsing error * Fix exit code capture It should be done on the same line, because drone insert 'echo + cmd' between commands. * Remove debug * Readability No functional changes. * Return functional tests * Be consistent * Add git stub for coveralls * Send coverage * Fix yaml parsing error * Add links to Dockerfiles * Send test log in case of test failure XXX if rspamd-test failed, but functional was successful robot log will be attached (but not useful). * Don't run rspamd-test and functional tests in parallel It looks like there is a race condition in writing coverage files. * Try to run tests in parallel * Add debug * Fix parallel test run test/rspamd-test and functional test both use luacov.stats.out file in current directory. Run ./rspamd-test from anther directory. * Use drone condition for sending coveralls report Also don't send report if empty tocken was provided. * Add mininal python3 compatibility
Diffstat (limited to 'test/functional/util/merge_coveralls.py')
-rwxr-xr-xtest/functional/util/merge_coveralls.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/test/functional/util/merge_coveralls.py b/test/functional/util/merge_coveralls.py
index dca00518d..66648a135 100755
--- a/test/functional/util/merge_coveralls.py
+++ b/test/functional/util/merge_coveralls.py
@@ -1,10 +1,17 @@
#!/usr/bin/env python
+from __future__ import print_function
+
import argparse
import json
import os
+import sys
+
import requests
+# Python 2/3 compatibility
+if sys.version_info.major > 2:
+ xrange = range
# install path to repository mapping
# if path mapped to None, it means that the file should be ignored (i.e. test file/helper)
@@ -132,12 +139,12 @@ if __name__ == '__main__':
with open(args.output, 'w') as f:
f.write(json.dumps(j1))
- if not args.token is None:
+ if args.token:
j1['repo_token'] = args.token
print("sending data to coveralls...")
r = requests.post('https://coveralls.io/api/v1/jobs', files={"json_file": json.dumps(j1)})
response = json.loads(r.text)
- print "uploaded %s\nmessage:%s" % (response['url'], response['message'])
+ print("uploaded %s\nmessage:%s" % (response['url'], response['message']))
# post https://coveralls.io/api/v1/jobs
# print args