[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [clazy/1.4] /: Make test_build_on_distros.sh configurable via a json file
From: Sergio Martins <null () kde ! org>
Date: 2018-09-22 14:09:42
Message-ID: E1g3ibO-0000bX-4z () code ! kde ! org
[Download RAW message or body]
Git commit 446988de8e9053ec241ec86fb567c469cecaab04 by Sergio Martins.
Committed on 22/09/2018 at 14:09.
Pushed by smartins into branch '1.4'.
Make test_build_on_distros.sh configurable via a json file
By rewriting it in python.
"iamsergio/clazy-" is not hardcoded in the script anymore. It can
be replaced in the json file.
D +0 -21 dev-scripts/test_build_on_distros.sh
A +16 -0 tests/docker/conf.json
A +61 -0 tests/docker/test_docker.py
https://commits.kde.org/clazy/446988de8e9053ec241ec86fb567c469cecaab04
diff --git a/dev-scripts/test_build_on_distros.sh b/dev-scripts/test_build_on_distros.sh
deleted file mode 100755
index 6d7424d..0000000
--- a/dev-scripts/test_build_on_distros.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-BRANCH=$1
-J_FLAG=$2
-BUILD_SCRIPT=/usr/bin/build-clazy.sh
-
-if [ -z "$1" ]
-then
- BRANCH="master"
-fi
-
-function run_test
-{
- echo "Testing $1..."
- docker run -i -t iamsergio/clazy-$1 sh $BUILD_SCRIPT $BRANCH $J_FLAG &> $1.log
- echo $?
-}
-
-run_test ubuntu-17.04
-run_test ubuntu-16.04
-run_test opensuse-tumbleweed
-run_test archlinux
-run_test fedora-25
diff --git a/tests/docker/conf.json b/tests/docker/conf.json
new file mode 100644
index 0000000..de9b2ed
--- /dev/null
+++ b/tests/docker/conf.json
@@ -0,0 +1,16 @@
+{
+ "tests" : [
+ {
+ "name" : "iamsergio/clazy-ubuntu-17.04"
+ },
+ {
+ "name" : "iamsergio/clazy-ubuntu-16.04"
+ },
+ {
+ "name" : "iamsergio/clazy-opensuse-tumbleweed"
+ },
+ {
+ "name" : "iamsergio/clazy-archlinux"
+ }
+ ]
+}
diff --git a/tests/docker/test_docker.py b/tests/docker/test_docker.py
new file mode 100755
index 0000000..00019a0
--- /dev/null
+++ b/tests/docker/test_docker.py
@@ -0,0 +1,61 @@
+#!/usr/bin/env python2
+
+import sys, os, json
+
+JSON_CONFIG_FILENAME = os.path.dirname(sys.argv[0]) + '/conf.json'
+MAKEFLAGS = "-j12"
+BRANCH = 'master'
+BUILD_SCRIPT = '/usr/bin/build-clazy.sh'
+
+class DockerTest:
+ def __init__(self, name):
+ self.name = name
+
+
+def read_json_config():
+ dockerTests = []
+
+ if not os.path.exists(JSON_CONFIG_FILENAME):
+ print "File doesn't exist %s" % (JSON_CONFIG_FILENAME)
+ return []
+
+ f = open(JSON_CONFIG_FILENAME, 'r')
+ contents = f.read()
+ f.close()
+ decoded = json.loads(contents)
+ if 'tests' in decoded:
+ tests = decoded['tests']
+ for test in tests:
+ if 'name' in test:
+ dockerTest = DockerTest(test['name'])
+ dockerTests.append(dockerTest)
+ return dockerTests
+
+
+
+def run_test(dockerTest):
+ cmd = 'docker run -i -t %s sh %s %s %s' % (dockerTest.name, BUILD_SCRIPT, BRANCH, MAKEFLAGS)
+ print cmd
+ return os.system(cmd) == 0
+
+
+dockerTests = read_json_config()
+
+if len(sys.argv) > 1:
+ BRANCH = sys.argv[1]
+
+
+results = {}
+success = True
+for test in dockerTests:
+ results[test.name] = run_test(test)
+ success = success and results[test.name]
+
+if success:
+ print "Success!"
+else:
+ for testname in results.keys():
+ if not results[testname]:
+ print "Test %s failed!" % testname
+
+sys.exit(0 if success else 1)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic