diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-09-30 16:08:41 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-09-30 16:08:41 +0300 |
commit | b9c4fc728c6e34cedb387d6844f21456c38ad269 (patch) | |
tree | a90048b4030d592c63771330f344569c4ab72c16 | |
parent | 68275b32e80147145cc78607f496255486fb9d92 (diff) | |
download | meson-b9c4fc728c6e34cedb387d6844f21456c38ad269.zip meson-b9c4fc728c6e34cedb387d6844f21456c38ad269.tar.gz meson-b9c4fc728c6e34cedb387d6844f21456c38ad269.tar.bz2 |
Moved prebuilt object test under unittests.
-rwxr-xr-x | run_project_tests.py | 8 | ||||
-rwxr-xr-x | run_unittests.py | 37 | ||||
-rw-r--r-- | test cases/unit/14 prebuilt object/main.c (renamed from test cases/prebuilt/1 object/main.c) | 0 | ||||
-rw-r--r-- | test cases/unit/14 prebuilt object/meson.build (renamed from test cases/prebuilt/1 object/meson.build) | 0 | ||||
-rw-r--r-- | test cases/unit/14 prebuilt object/source.c (renamed from test cases/prebuilt/1 object/source.c) | 0 |
5 files changed, 40 insertions, 5 deletions
diff --git a/run_project_tests.py b/run_project_tests.py index 426e2c7..03dc8be 100755 --- a/run_project_tests.py +++ b/run_project_tests.py @@ -642,9 +642,8 @@ def generate_prebuilt(): object_suffix = 'obj' else: object_suffix = 'o' - objectfile = generate_pb_object(compiler, object_suffix) stlibfile = generate_pb_static(compiler, object_suffix, static_suffix) - return objectfile, stlibfile + return stlibfile def check_meson_commands_work(): global backend, meson_command, compile_commands, test_commands, install_commands @@ -684,14 +683,13 @@ if __name__ == '__main__': os.chdir(script_dir) check_format() check_meson_commands_work() - pbfiles = generate_prebuilt() + pbfile = generate_prebuilt() try: all_tests = detect_tests_to_run() (passing_tests, failing_tests, skipped_tests) = run_tests(all_tests, 'meson-test-run', options.extra_args) except StopException: pass - for f in pbfiles: - os.unlink(f) + os.unlink(pbfile) print('\nTotal passed tests:', green(str(passing_tests))) print('Total failed tests:', red(str(failing_tests))) print('Total skipped tests:', yellow(str(skipped_tests))) diff --git a/run_unittests.py b/run_unittests.py index b217714..e307626 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -1298,6 +1298,43 @@ int main(int argc, char **argv) { for i in targets: self.assertPathExists(os.path.join(testdir, i)) + def detect_prebuild_env(self): + if mesonbuild.mesonlib.is_windows(): + object_suffix = 'obj' + else: + object_suffix = 'o' + static_suffix = 'a' + if shutil.which('cl'): + compiler = 'cl' + static_suffix = 'lib' + elif shutil.which('cc'): + compiler = 'cc' + elif shutil.which('gcc'): + compiler = 'gcc' + else: + raise RuntimeError("Could not find C compiler.") + return (compiler, object_suffix, static_suffix) + + def pbcompile(self, compiler, source, objectfile): + if compiler == 'cl': + cmd = [compiler, '/nologo', '/Fo' + objectfile, '/c', source] + else: + cmd = [compiler, '-c', source, '-o', objectfile] + subprocess.check_call(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + + + def test_prebuilt_object(self): + (compiler, object_suffix, static_suffix) = self.detect_prebuild_env() + tdir = os.path.join(self.unit_test_dir, '14 prebuilt object') + source = os.path.join(tdir, 'source.c') + objectfile = os.path.join(tdir, 'prebuilt.' + object_suffix) + self.pbcompile(compiler, source, objectfile) + try: + self.init(tdir) + self.build() + self.run_tests() + finally: + os.unlink(objectfile) class FailureTests(BasePlatformTests): ''' diff --git a/test cases/prebuilt/1 object/main.c b/test cases/unit/14 prebuilt object/main.c index 480bda5..480bda5 100644 --- a/test cases/prebuilt/1 object/main.c +++ b/test cases/unit/14 prebuilt object/main.c diff --git a/test cases/prebuilt/1 object/meson.build b/test cases/unit/14 prebuilt object/meson.build index 92f966b..92f966b 100644 --- a/test cases/prebuilt/1 object/meson.build +++ b/test cases/unit/14 prebuilt object/meson.build diff --git a/test cases/prebuilt/1 object/source.c b/test cases/unit/14 prebuilt object/source.c index f39b4f3..f39b4f3 100644 --- a/test cases/prebuilt/1 object/source.c +++ b/test cases/unit/14 prebuilt object/source.c |