diff options
-rwxr-xr-x | run_unittests.py | 11 | ||||
-rw-r--r-- | test cases/common/5 linkstatic/libfile2.c | 3 | ||||
-rw-r--r-- | test cases/common/5 linkstatic/libfile3.c | 3 | ||||
-rw-r--r-- | test cases/common/5 linkstatic/libfile4.c | 3 | ||||
-rw-r--r-- | test cases/common/5 linkstatic/meson.build | 2 |
5 files changed, 21 insertions, 1 deletions
diff --git a/run_unittests.py b/run_unittests.py index b9c1397..9391eae 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -136,5 +136,16 @@ class LinuxlikeTests(unittest.TestCase): self.assertTrue('-Werror' in vala_command) self.assertTrue('-Werror' in c_command) + def test_static_compile_order(self): + testdir = os.path.join(self.common_test_dir, '5 linkstatic') + self.init(testdir) + compdb = self.get_compdb() + # Rules will get written out in this order + self.assertTrue(compdb[0]['file'].endswith("libfile.c")) + self.assertTrue(compdb[1]['file'].endswith("libfile2.c")) + self.assertTrue(compdb[2]['file'].endswith("libfile3.c")) + self.assertTrue(compdb[3]['file'].endswith("libfile4.c")) + # FIXME: We don't have access to the linker command + if __name__ == '__main__': unittest.main() diff --git a/test cases/common/5 linkstatic/libfile2.c b/test cases/common/5 linkstatic/libfile2.c new file mode 100644 index 0000000..89780f5 --- /dev/null +++ b/test cases/common/5 linkstatic/libfile2.c @@ -0,0 +1,3 @@ +int func2() { + return 2; +} diff --git a/test cases/common/5 linkstatic/libfile3.c b/test cases/common/5 linkstatic/libfile3.c new file mode 100644 index 0000000..5e0d08b --- /dev/null +++ b/test cases/common/5 linkstatic/libfile3.c @@ -0,0 +1,3 @@ +int func3() { + return 3; +} diff --git a/test cases/common/5 linkstatic/libfile4.c b/test cases/common/5 linkstatic/libfile4.c new file mode 100644 index 0000000..3645c31 --- /dev/null +++ b/test cases/common/5 linkstatic/libfile4.c @@ -0,0 +1,3 @@ +int func4() { + return 4; +} diff --git a/test cases/common/5 linkstatic/meson.build b/test cases/common/5 linkstatic/meson.build index c1cb8b6..1f02a5c 100644 --- a/test cases/common/5 linkstatic/meson.build +++ b/test cases/common/5 linkstatic/meson.build @@ -1,6 +1,6 @@ project('static library linking test', 'c') -lib = build_target('mylib', 'libfile.c', target_type : 'static_library') +lib = build_target('mylib', 'libfile.c', 'libfile2.c', 'libfile3.c', 'libfile4.c', target_type : 'static_library') exe = executable('prog', 'main.c', link_with : lib) test('runtest', exe) |