diff options
-rwxr-xr-x | run_tests.py | 17 | ||||
-rw-r--r-- | test cases/prebuilt object/1 basic/freebsd-i386.o | bin | 1924 -> 0 bytes | |||
-rw-r--r-- | test cases/prebuilt object/1 basic/linux-amd64.o | bin | 2592 -> 0 bytes | |||
-rw-r--r-- | test cases/prebuilt object/1 basic/linux-i386.o | bin | 1756 -> 0 bytes | |||
-rw-r--r-- | test cases/prebuilt object/1 basic/meson.build | 33 | ||||
-rw-r--r-- | test cases/prebuilt object/1 basic/mingw-i386.obj | bin | 1652 -> 0 bytes | |||
-rw-r--r-- | test cases/prebuilt object/1 basic/msvc-i386.obj | bin | 2170 -> 0 bytes | |||
-rw-r--r-- | test cases/prebuilt object/1 basic/osx.o | bin | 2212 -> 0 bytes | |||
-rw-r--r-- | test cases/prebuilt object/1 basic/readme.txt | 10 |
9 files changed, 23 insertions, 37 deletions
diff --git a/run_tests.py b/run_tests.py index 16f621b..39116b0 100755 --- a/run_tests.py +++ b/run_tests.py @@ -17,6 +17,7 @@ from glob import glob import os, subprocess, shutil, sys, platform import environment +from environment import is_windows passing_tests = 0 failing_tests = 0 @@ -258,18 +259,32 @@ def check_file(fname): linenum += 1 def check_format(): - for (root, dirs, files) in os.walk('.'): + for (root, _, files) in os.walk('.'): for file in files: if file.endswith('.py') or file.endswith('.build'): fullname = os.path.join(root, file) check_file(fullname) +def generate_prebuilt_object(): + source = 'test cases/prebuilt object/1 basic/source.c' + objectbase = 'test cases/prebuilt object/1 basic/prebuilt.' + if shutil.which('cl'): + objectfile = objectbase + 'obj' + raise RuntimeError('MSVC compilation not done yet.') + # And neither is MinGW. + else: + objectfile = objectbase + 'o' + subprocess.check_call(['cc', '-c', source, '-o', objectfile]) + return objectfile + if __name__ == '__main__': script_dir = os.path.split(__file__)[0] if script_dir != '': os.chdir(script_dir) check_format() + pbfile = generate_prebuilt_object() run_tests() + os.unlink(pbfile) print('\nTotal passed tests:', passing_tests) print('Total failed tests:', failing_tests) sys.exit(failing_tests) diff --git a/test cases/prebuilt object/1 basic/freebsd-i386.o b/test cases/prebuilt object/1 basic/freebsd-i386.o Binary files differdeleted file mode 100644 index 7c3c4d2..0000000 --- a/test cases/prebuilt object/1 basic/freebsd-i386.o +++ /dev/null diff --git a/test cases/prebuilt object/1 basic/linux-amd64.o b/test cases/prebuilt object/1 basic/linux-amd64.o Binary files differdeleted file mode 100644 index 5c24885..0000000 --- a/test cases/prebuilt object/1 basic/linux-amd64.o +++ /dev/null diff --git a/test cases/prebuilt object/1 basic/linux-i386.o b/test cases/prebuilt object/1 basic/linux-i386.o Binary files differdeleted file mode 100644 index da8c041..0000000 --- a/test cases/prebuilt object/1 basic/linux-i386.o +++ /dev/null diff --git a/test cases/prebuilt object/1 basic/meson.build b/test cases/prebuilt object/1 basic/meson.build index 1e78bb8..01b2b9a 100644 --- a/test cases/prebuilt object/1 basic/meson.build +++ b/test cases/prebuilt object/1 basic/meson.build @@ -9,36 +9,17 @@ project('prebuilt object', 'c') -if host.name() == 'darwin' - object = 'osx.o' -elif host.name() == 'linux' - if meson.get_compiler('c').sizeof('void*') == 8 - object = 'linux-amd64.o' - else - object = 'linux-i386.o' - endif -elif host.name() == 'freebsd' - if meson.get_compiler('c').sizeof('void*') == 8 - object = 'freebsd-amd64.o' - else - object = 'freebsd-i386.o' - endif -elif host.name() == 'windows' - id = meson.get_compiler('c').get_id() - if id == 'gcc' - object = 'mingw-i386.obj' - elif id == 'msvc' - object = 'msvc-i386.obj' - else - error('Unknown compiler.') - endif +if host.name() == 'windows' + prebuilt = 'prebuilt.obj' else - error('Unknown platform.') + prebuilt = 'prebuilt.o' endif # Remember: do not put source.c in this -# declaration. Only the prebuilt object. +# declaration. run_tests.py generates the +# prebuilt object before running this test. + e = executable('prog', 'main.c', -objects : object) +objects : prebuilt) test('objtest', e) diff --git a/test cases/prebuilt object/1 basic/mingw-i386.obj b/test cases/prebuilt object/1 basic/mingw-i386.obj Binary files differdeleted file mode 100644 index 6e055e5..0000000 --- a/test cases/prebuilt object/1 basic/mingw-i386.obj +++ /dev/null diff --git a/test cases/prebuilt object/1 basic/msvc-i386.obj b/test cases/prebuilt object/1 basic/msvc-i386.obj Binary files differdeleted file mode 100644 index a969a73..0000000 --- a/test cases/prebuilt object/1 basic/msvc-i386.obj +++ /dev/null diff --git a/test cases/prebuilt object/1 basic/osx.o b/test cases/prebuilt object/1 basic/osx.o Binary files differdeleted file mode 100644 index 75c86c6..0000000 --- a/test cases/prebuilt object/1 basic/osx.o +++ /dev/null diff --git a/test cases/prebuilt object/1 basic/readme.txt b/test cases/prebuilt object/1 basic/readme.txt deleted file mode 100644 index a7acb4f..0000000 --- a/test cases/prebuilt object/1 basic/readme.txt +++ /dev/null @@ -1,10 +0,0 @@ -This test checks that a pre-existing object file can be used in projects. -In order to do this, we need prebuilt objects in the source dir. To enable -a new platform, the source file source.c needs to be compiled and then -the Meson file updated to use it. - -The object needs to be built with no optimization and debug symbols enabled. -As an example, this is what a compile command with Gcc on x86 Linux would -look like: - -gcc -c -g -o linux-i386.o source.c |