test: simplify T360-symbol-hiding, use nm instead of objdump
authorDavid Bremner <david@tethera.net>
Wed, 10 Sep 2014 06:41:11 +0000 (08:41 +0200)
committerDavid Bremner <david@tethera.net>
Sat, 13 Sep 2014 06:49:50 +0000 (08:49 +0200)
After yet another variation in objdump output caused this test to fail
(on a Debian port, no less), I decided whatever putative benefit we
get from looking at the object files instead of the library isn't
worth the maintenence headache.

This version uses nm -P. nm -P should be portable, and fixed format.
It purposely doesn't use the -D argument, since that is non-POSIX and
nm on GNU/Linux seems do the right thing without it.

It still won't work out of the box on e.g. Mac OS/X. I think the right
thing to do there is to move some more configuration information into
sh.config.

test/T360-symbol-hiding.sh

index 636ec9171a2f32a9564c55d6d2a7e16277756ff5..8fc4bdf61f9021f624cca0bfbbbbbebee775b43e 100755 (executable)
@@ -26,7 +26,7 @@ test_begin_subtest 'checking output'
 test_expect_equal "$result" "$output"
 
 test_begin_subtest 'comparing existing to exported symbols'
-objdump -t $TEST_DIRECTORY/../lib/*.o | awk '$4 == ".text" && $6 ~ "^notmuch" {print $6}' | sort | uniq > ACTUAL
+nm -P $TEST_DIRECTORY/../lib/libnotmuch.so | awk '$2 == "T" && $1 ~ "^notmuch" {print $1}' | sort | uniq > ACTUAL
 sed -n 's/[[:blank:]]*\(notmuch_[^;]*\);/\1/p' $TEST_DIRECTORY/../notmuch.sym | sort | uniq > EXPORTED
 test_expect_equal_file EXPORTED ACTUAL