1*a3cefe7fSPierre Pronchery#!/usr/bin/env atf-sh 2*a3cefe7fSPierre Pronchery 3*a3cefe7fSPierre Pronchery. $(atf_get_srcdir)/test_env.sh 4*a3cefe7fSPierre Pronchery 5*a3cefe7fSPierre Proncherytests_init \ 6*a3cefe7fSPierre Pronchery libs \ 7*a3cefe7fSPierre Pronchery libs_cflags \ 8*a3cefe7fSPierre Pronchery libs_static \ 9*a3cefe7fSPierre Pronchery libs_static_pure \ 10*a3cefe7fSPierre Pronchery cflags_libs_private \ 11*a3cefe7fSPierre Pronchery argv_parse2 \ 12*a3cefe7fSPierre Pronchery static_cflags \ 13*a3cefe7fSPierre Pronchery private_duplication \ 14*a3cefe7fSPierre Pronchery private_duplication_digraph \ 15*a3cefe7fSPierre Pronchery foo_bar \ 16*a3cefe7fSPierre Pronchery bar_foo \ 17*a3cefe7fSPierre Pronchery foo_metapackage_3 \ 18*a3cefe7fSPierre Pronchery libs_static2 \ 19*a3cefe7fSPierre Pronchery missing \ 20*a3cefe7fSPierre Pronchery requires_internal \ 21*a3cefe7fSPierre Pronchery requires_internal_missing \ 22*a3cefe7fSPierre Pronchery requires_internal_collision \ 23*a3cefe7fSPierre Pronchery orphaned_requires_private 24*a3cefe7fSPierre Pronchery 25*a3cefe7fSPierre Proncherylibs_body() 26*a3cefe7fSPierre Pronchery{ 27*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 28*a3cefe7fSPierre Pronchery atf_check \ 29*a3cefe7fSPierre Pronchery -o inline:"-L/test/lib -lbar -lfoo\n" \ 30*a3cefe7fSPierre Pronchery pkgconf --libs bar 31*a3cefe7fSPierre Pronchery} 32*a3cefe7fSPierre Pronchery 33*a3cefe7fSPierre Proncherylibs_cflags_body() 34*a3cefe7fSPierre Pronchery{ 35*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 36*a3cefe7fSPierre Pronchery atf_check \ 37*a3cefe7fSPierre Pronchery -o inline:"-fPIC -I/test/include/foo -L/test/lib -lbaz\n" \ 38*a3cefe7fSPierre Pronchery pkgconf --libs --cflags baz 39*a3cefe7fSPierre Pronchery} 40*a3cefe7fSPierre Pronchery 41*a3cefe7fSPierre Proncherylibs_static_body() 42*a3cefe7fSPierre Pronchery{ 43*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 44*a3cefe7fSPierre Pronchery atf_check \ 45*a3cefe7fSPierre Pronchery -o inline:"-L/test/lib -lbaz -L/test/lib -lzee -lfoo\n" \ 46*a3cefe7fSPierre Pronchery pkgconf --static --libs baz 47*a3cefe7fSPierre Pronchery} 48*a3cefe7fSPierre Pronchery 49*a3cefe7fSPierre Proncherylibs_static_pure_body() 50*a3cefe7fSPierre Pronchery{ 51*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 52*a3cefe7fSPierre Pronchery atf_check \ 53*a3cefe7fSPierre Pronchery -o inline:"-L/test/lib -lbaz -lfoo\n" \ 54*a3cefe7fSPierre Pronchery pkgconf --static --pure --libs baz 55*a3cefe7fSPierre Pronchery} 56*a3cefe7fSPierre Pronchery 57*a3cefe7fSPierre Proncheryargv_parse2_body() 58*a3cefe7fSPierre Pronchery{ 59*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 60*a3cefe7fSPierre Pronchery atf_check \ 61*a3cefe7fSPierre Pronchery -o inline:"-llib-1 -pthread /test/lib/lib2.so\n" \ 62*a3cefe7fSPierre Pronchery pkgconf --static --libs argv-parse-2 63*a3cefe7fSPierre Pronchery} 64*a3cefe7fSPierre Pronchery 65*a3cefe7fSPierre Proncherystatic_cflags_body() 66*a3cefe7fSPierre Pronchery{ 67*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 68*a3cefe7fSPierre Pronchery atf_check \ 69*a3cefe7fSPierre Pronchery -o inline:"-fPIC -I/test/include/foo -DFOO_STATIC\n" \ 70*a3cefe7fSPierre Pronchery pkgconf --static --cflags baz 71*a3cefe7fSPierre Pronchery} 72*a3cefe7fSPierre Pronchery 73*a3cefe7fSPierre Proncheryprivate_duplication_body() 74*a3cefe7fSPierre Pronchery{ 75*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 76*a3cefe7fSPierre Pronchery atf_check \ 77*a3cefe7fSPierre Pronchery -o inline:"-lprivate -lbaz -lzee -lbar -lfoo\n" \ 78*a3cefe7fSPierre Pronchery pkgconf --static --libs-only-l private-libs-duplication 79*a3cefe7fSPierre Pronchery} 80*a3cefe7fSPierre Pronchery 81*a3cefe7fSPierre Proncheryprivate_duplication_digraph_body() 82*a3cefe7fSPierre Pronchery{ 83*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 84*a3cefe7fSPierre Pronchery atf_check \ 85*a3cefe7fSPierre Pronchery -o 'match:"user:request" -> "private-libs-duplication"' \ 86*a3cefe7fSPierre Pronchery -o 'match:"private-libs-duplication" -> "bar"' \ 87*a3cefe7fSPierre Pronchery -o 'match:"private-libs-duplication" -> "baz"' \ 88*a3cefe7fSPierre Pronchery -o 'match:"bar" -> "foo"' \ 89*a3cefe7fSPierre Pronchery -o 'match:"baz" -> "foo"' \ 90*a3cefe7fSPierre Pronchery pkgconf --static --libs-only-l private-libs-duplication --digraph 91*a3cefe7fSPierre Pronchery} 92*a3cefe7fSPierre Pronchery 93*a3cefe7fSPierre Proncherybar_foo_body() 94*a3cefe7fSPierre Pronchery{ 95*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 96*a3cefe7fSPierre Pronchery atf_check \ 97*a3cefe7fSPierre Pronchery -o inline:"-lbar -lfoo\n" \ 98*a3cefe7fSPierre Pronchery pkgconf --static --libs-only-l bar foo 99*a3cefe7fSPierre Pronchery} 100*a3cefe7fSPierre Pronchery 101*a3cefe7fSPierre Proncheryfoo_bar_body() 102*a3cefe7fSPierre Pronchery{ 103*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 104*a3cefe7fSPierre Pronchery atf_check \ 105*a3cefe7fSPierre Pronchery -o inline:"-lbar -lfoo\n" \ 106*a3cefe7fSPierre Pronchery pkgconf --static --libs-only-l foo bar 107*a3cefe7fSPierre Pronchery} 108*a3cefe7fSPierre Pronchery 109*a3cefe7fSPierre Proncheryfoo_metapackage_3_body() 110*a3cefe7fSPierre Pronchery{ 111*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 112*a3cefe7fSPierre Pronchery atf_check \ 113*a3cefe7fSPierre Pronchery -o inline:"-lbar -lfoo\n" \ 114*a3cefe7fSPierre Pronchery pkgconf --static --libs-only-l foo metapackage-3 115*a3cefe7fSPierre Pronchery} 116*a3cefe7fSPierre Pronchery 117*a3cefe7fSPierre Proncherylibs_static2_body() 118*a3cefe7fSPierre Pronchery{ 119*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 120*a3cefe7fSPierre Pronchery atf_check \ 121*a3cefe7fSPierre Pronchery -o inline:"-lbar -lbar-private -L/test/lib -lfoo\n" \ 122*a3cefe7fSPierre Pronchery pkgconf --static --libs static-libs 123*a3cefe7fSPierre Pronchery} 124*a3cefe7fSPierre Pronchery 125*a3cefe7fSPierre Proncherymissing_body() 126*a3cefe7fSPierre Pronchery{ 127*a3cefe7fSPierre Pronchery export PKG_CONFIG_PATH="${selfdir}/lib1" 128*a3cefe7fSPierre Pronchery atf_check \ 129*a3cefe7fSPierre Pronchery -s exit:1 \ 130*a3cefe7fSPierre Pronchery -e ignore \ 131*a3cefe7fSPierre Pronchery -o ignore \ 132*a3cefe7fSPierre Pronchery pkgconf --cflags missing-require 133*a3cefe7fSPierre Pronchery} 134*a3cefe7fSPierre Pronchery 135*a3cefe7fSPierre Proncheryrequires_internal_body() 136*a3cefe7fSPierre Pronchery{ 137*a3cefe7fSPierre Pronchery atf_check \ 138*a3cefe7fSPierre Pronchery -o inline:"-lbar -lbar-private -L/test/lib -lfoo\n" \ 139*a3cefe7fSPierre Pronchery pkgconf --with-path="${selfdir}/lib1" --static --libs requires-internal 140*a3cefe7fSPierre Pronchery} 141*a3cefe7fSPierre Pronchery 142*a3cefe7fSPierre Proncheryrequires_internal_missing_body() 143*a3cefe7fSPierre Pronchery{ 144*a3cefe7fSPierre Pronchery atf_check \ 145*a3cefe7fSPierre Pronchery -s exit:1 \ 146*a3cefe7fSPierre Pronchery -e ignore \ 147*a3cefe7fSPierre Pronchery -o ignore \ 148*a3cefe7fSPierre Pronchery pkgconf --with-path="${selfdir}/lib1" --static --libs requires-internal-missing 149*a3cefe7fSPierre Pronchery} 150*a3cefe7fSPierre Pronchery 151*a3cefe7fSPierre Proncheryrequires_internal_collision_body() 152*a3cefe7fSPierre Pronchery{ 153*a3cefe7fSPierre Pronchery atf_check \ 154*a3cefe7fSPierre Pronchery -o inline:"-I/test/local/include/foo\n" \ 155*a3cefe7fSPierre Pronchery pkgconf --with-path="${selfdir}/lib1" --cflags requires-internal-collision 156*a3cefe7fSPierre Pronchery} 157*a3cefe7fSPierre Pronchery 158*a3cefe7fSPierre Proncheryorphaned_requires_private_body() 159*a3cefe7fSPierre Pronchery{ 160*a3cefe7fSPierre Pronchery atf_check \ 161*a3cefe7fSPierre Pronchery -s exit:1 \ 162*a3cefe7fSPierre Pronchery -e ignore \ 163*a3cefe7fSPierre Pronchery -o ignore \ 164*a3cefe7fSPierre Pronchery pkgconf --with-path="${selfdir}/lib1" --cflags --libs orphaned-requires-private 165*a3cefe7fSPierre Pronchery} 166*a3cefe7fSPierre Pronchery 167*a3cefe7fSPierre Proncherycflags_libs_private_body() 168*a3cefe7fSPierre Pronchery{ 169*a3cefe7fSPierre Pronchery atf_check \ 170*a3cefe7fSPierre Pronchery -o inline:"\n" \ 171*a3cefe7fSPierre Pronchery pkgconf --with-path="${selfdir}/lib1" --libs cflags-libs-private-a 172*a3cefe7fSPierre Pronchery 173*a3cefe7fSPierre Pronchery atf_check \ 174*a3cefe7fSPierre Pronchery -o inline:"-lc\n" \ 175*a3cefe7fSPierre Pronchery pkgconf --with-path="${selfdir}/lib1" --static --libs cflags-libs-private-a 176*a3cefe7fSPierre Pronchery} 177