Created unit test to ensure linker arguments from consecutive dependencies are kept in order.

pull/1932/head
Jussi Pakkanen 8 years ago committed by Nirbheek Chauhan
parent d23e6b34c7
commit 8244f4c6a6
  1. 16
      run_unittests.py
  2. 13
      test cases/unit/8 L order/first.pc
  3. 6
      test cases/unit/8 L order/meson.build
  4. 5
      test cases/unit/8 L order/prog.c
  5. 13
      test cases/unit/8 L order/second.pc

@ -1755,6 +1755,22 @@ class LinuxlikeTests(BasePlatformTests):
env['LD_LIBRARY_PATH'] = installed_libdir
self.assertEqual(subprocess.call(installed_exe, env=env), 0)
def test_order_of_l_arguments(self):
testdir = os.path.join(self.unit_test_dir, '8 L order')
os.environ['PKG_CONFIG_PATH'] = testdir
self.init(testdir)
expected_order = ['-L/me/first', '-L/me/second', '-L/me/third', '-L/me/fourth']
with open(os.path.join(self.builddir, 'build.ninja')) as ifile:
for line in ifile:
if expected_order[0] in line:
previous_index = line.index(expected_order[0])
for entry in expected_order[1:]:
current_index = line.index(entry)
self.assertLess(previous_index, current_index)
previous_index = current_index
return
raise RuntimeError('Linker entries not found in the Ninja file.')
class LinuxArmCrossCompileTests(BasePlatformTests):
'''
Tests that verify cross-compilation to Linux/ARM

@ -0,0 +1,13 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
sharedlibdir=${libdir}
includedir=${prefix}/include
Name: jonne
Description: jonne library
Version: 1.0.0
Requires:
Libs: -L/me/first -L/me/second
Cflags: -I${includedir}

@ -0,0 +1,6 @@
project('jonne', 'c')
firstdep = dependency('first')
seconddep = dependency('second')
executable('lprog', 'prog.c', dependencies : [firstdep, seconddep])

@ -0,0 +1,5 @@
#include<stdio.h>
int main(int argc, char **argv) {
return 0;
}

@ -0,0 +1,13 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
sharedlibdir=${libdir}
includedir=${prefix}/include
Name: jonne2
Description: jonne2 library
Version: 1.0.0
Requires:
Libs: -L/me/third -L/me/fourth
Cflags: -I${includedir}
Loading…
Cancel
Save