diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-08-30 15:20:29 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-08-30 18:57:18 +0300 |
commit | 464e545c723616372bfeec8e955bf1177437fa32 (patch) | |
tree | 65e8b8f1b5d25ad761a364e19335940542d91690 | |
parent | e218d8c24bfbd5384e040417e533ede96c4e831b (diff) |
Tests: move "make test" on macOS and Linux to Python script
-rw-r--r-- | GNUmakefile | 2 | ||||
-rwxr-xr-x | build_files/utils/make_test.py | 30 | ||||
-rwxr-xr-x | build_files/utils/make_update.py | 15 | ||||
-rwxr-xr-x | build_files/utils/make_utils.py | 17 |
4 files changed, 50 insertions, 14 deletions
diff --git a/GNUmakefile b/GNUmakefile index 92d1efca21d..ef1b6b711d2 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -375,7 +375,7 @@ package_archive: .FORCE # Tests # test: .FORCE - cd $(BUILD_DIR) ; ctest . --output-on-failure + python3 ./build_files/utils/make_test.py "$(BUILD_DIR)" # run pep8 check check on scripts we distribute. test_pep8: .FORCE diff --git a/build_files/utils/make_test.py b/build_files/utils/make_test.py new file mode 100755 index 00000000000..1522631de4b --- /dev/null +++ b/build_files/utils/make_test.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +# +# "make test" for all platforms, running automated tests. + +import argparse +import os +import shutil +import sys + +from make_utils import call + +# Parse arguments + +def parse_arguments(): + parser = argparse.ArgumentParser() + parser.add_argument("--ctest-command", default="ctest") + parser.add_argument("build_directory") + return parser.parse_args() + +args = parse_arguments() +ctest_command = args.ctest_command +build_dir = args.build_directory + +if shutil.which(ctest_command) is None: + sys.stderr.write("ctest not found, can't run tests\n") + sys.exit(1) + +# Run tests +os.chdir(build_dir) +call([ctest_command, ".", "--output-on-failure"]) diff --git a/build_files/utils/make_update.py b/build_files/utils/make_update.py index 5d82075d562..a019e17e0a8 100755 --- a/build_files/utils/make_update.py +++ b/build_files/utils/make_update.py @@ -13,6 +13,8 @@ import shutil import subprocess import sys +from make_utils import call + # Parse arguments def parse_arguments(): @@ -35,19 +37,6 @@ if shutil.which(svn_command) is None: sys.stderr.write("svn not found, can't update libraries\n") sys.exit(1) -# Utility functions - -def call(cmd): - print(" ".join(cmd)) - - # Flush to ensure correct order output on Windows. - sys.stdout.flush() - sys.stderr.flush() - - retcode = subprocess.call(cmd) - if retcode != 0: - sys.exit(retcode) - def print_stage(text): print("") print(text) diff --git a/build_files/utils/make_utils.py b/build_files/utils/make_utils.py new file mode 100755 index 00000000000..98536879b91 --- /dev/null +++ b/build_files/utils/make_utils.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 +# +# Utility functions for make update and make tests. + +import subprocess +import sys + +def call(cmd): + print(" ".join(cmd)) + + # Flush to ensure correct order output on Windows. + sys.stdout.flush() + sys.stderr.flush() + + retcode = subprocess.call(cmd) + if retcode != 0: + sys.exit(retcode) |