Don't use the .so extension on test assets
authorMichael Jeanson <mjeanson@efficios.com>
Wed, 4 May 2016 18:36:19 +0000 (14:36 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 6 May 2016 17:46:28 +0000 (13:46 -0400)
Some packaging systems, such as dpkg-source in native mode used by
Debian's daily build system, will filter out files considered unclean
prior to the build. This behavior causes our test assets to be deleted
which, subsequently, fails the make check.

Since we do not require the .so extension and these files should be
treated as blobs, we rename them to "_so".

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
13 files changed:
tests/debuginfo-data/README.md
tests/debuginfo-data/libhello.so [deleted file]
tests/debuginfo-data/libhello_build_id.so [deleted file]
tests/debuginfo-data/libhello_build_id_so [new file with mode: 0644]
tests/debuginfo-data/libhello_debug_link.so [deleted file]
tests/debuginfo-data/libhello_debug_link.so.debug [deleted file]
tests/debuginfo-data/libhello_debug_link_so [new file with mode: 0644]
tests/debuginfo-data/libhello_debug_link_so.debug [new file with mode: 0644]
tests/debuginfo-data/libhello_elf.so [deleted file]
tests/debuginfo-data/libhello_elf_so [new file with mode: 0644]
tests/debuginfo-data/libhello_so [new file with mode: 0644]
tests/lib/test_bin_info.c
tests/lib/test_dwarf.c

index 88e773116c19fabb469851932fbe01de15525726..db131bc47811c24df0fa1fd0bbc58c5eb43cfe14 100644 (file)
@@ -8,13 +8,17 @@ files used to generate them.
 
 The generated files are:
 
-* `libhello.so` (ELF and DWARF)
-* `libhello_elf.so` (ELF only)
-* `libhello_build_id.so` (ELF with separate DWARF via build ID)
-* `libhello_debug_link.so` (ELF with separate DWARF via debug link)
-* `libhello_debug_link.so.debug` (DWARF for debug link)
+* `libhello_so` (ELF and DWARF)
+* `libhello_elf_so` (ELF only)
+* `libhello_build_id_so` (ELF with separate DWARF via build ID)
+* `libhello_debug_link_so` (ELF with separate DWARF via debug link)
+* `libhello_debug_link_so.debug` (DWARF for debug link)
 * `.build-id/cd/d98cdd87f7fe64c13b6daad553987eafd40cbb.debug` (DWARF for build ID)
 
+We use a suffix of "_so" instead of ".so" since some distributions
+build systems will consider ".so" files as artifacts from a previous
+build that were "left-over" and will remove them prior to the build.
+
 All files are generated from the four (4) following source files:
 
 * libhello.c
@@ -30,20 +34,20 @@ To regenerate them, you can use follow these steps:
 ## ELF and DWARF
 
     $ gcc -g -fPIC -c -I. tp.c libhello.c
-    $ gcc -shared -g -llttng-ust -ldl -Wl,-soname,libhello.so -o libhello.so tp.o libhello.o
+    $ gcc -shared -g -llttng-ust -ldl -Wl,-soname,libhello.so -o libhello_so tp.o libhello.o
 
 ## ELF only
 
     $ gcc -fPIC -c -I. tp.c libhello.c
-    $ gcc -shared -llttng-ust -ldl -Wl,-soname,libhello_elf.so -o libhello_elf.so tp.o libhello.o
+    $ gcc -shared -llttng-ust -ldl -Wl,-soname,libhello_elf.so -o libhello_elf_so tp.o libhello.o
 
 ## ELF and DWARF with Build ID
 
     $ gcc -g -fPIC -c -I. tp.c libhello.c
-    $ gcc -shared -g -llttng-ust -ldl -Wl,-soname,libhello_build_id.so -Wl,--build-id=sha1 -o libhello_build_id.so tp.o libhello.o
+    $ gcc -shared -g -llttng-ust -ldl -Wl,-soname,libhello_build_id.so -Wl,--build-id=sha1 -o libhello_build_id_so tp.o libhello.o
     $ mkdir -p .build-id/cd/
-    $ objcopy --only-keep-debug libhello_build_id.so .build-id/cd/d98cdd87f7fe64c13b6daad553987eafd40cbb.debug
-    $ strip -g libhello_build_id.so
+    $ objcopy --only-keep-debug libhello_build_id_so .build-id/cd/d98cdd87f7fe64c13b6daad553987eafd40cbb.debug
+    $ strip -g libhello_build_id_so
 
 The build ID might not be the same once the executable is regenerated
 on your system, so adjust the values in the directory and file names
@@ -53,8 +57,8 @@ https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html
 ##  ELF and DWARF with Debug Link
 
     $ gcc -g -fPIC -c -I. tp.c libhello.c
-    $ gcc -shared -g -llttng-ust -ldl -Wl,-soname,libhello_debug_link.so -o libhello_debug_link.so tp.o libhello.o
+    $ gcc -shared -g -llttng-ust -ldl -Wl,-soname,libhello_debug_link.so -o libhello_debug_link_so tp.o libhello.o
 
-    $ objcopy --only-keep-debug libhello_debug_link.so libhello_debug_link.so.debug
-    $ strip -g libhello_debug_link.so
-    $ objcopy --add-gnu-debuglink=libhello_debug_link.so.debug libhello_debug_link.so
+    $ objcopy --only-keep-debug libhello_debug_link_so libhello_debug_link_so.debug
+    $ strip -g libhello_debug_link_so
+    $ objcopy --add-gnu-debuglink=libhello_debug_link_so.debug libhello_debug_link_so
diff --git a/tests/debuginfo-data/libhello.so b/tests/debuginfo-data/libhello.so
deleted file mode 100644 (file)
index 849f440..0000000
Binary files a/tests/debuginfo-data/libhello.so and /dev/null differ
diff --git a/tests/debuginfo-data/libhello_build_id.so b/tests/debuginfo-data/libhello_build_id.so
deleted file mode 100644 (file)
index a5055ee..0000000
Binary files a/tests/debuginfo-data/libhello_build_id.so and /dev/null differ
diff --git a/tests/debuginfo-data/libhello_build_id_so b/tests/debuginfo-data/libhello_build_id_so
new file mode 100644 (file)
index 0000000..a5055ee
Binary files /dev/null and b/tests/debuginfo-data/libhello_build_id_so differ
diff --git a/tests/debuginfo-data/libhello_debug_link.so b/tests/debuginfo-data/libhello_debug_link.so
deleted file mode 100644 (file)
index 340c828..0000000
Binary files a/tests/debuginfo-data/libhello_debug_link.so and /dev/null differ
diff --git a/tests/debuginfo-data/libhello_debug_link.so.debug b/tests/debuginfo-data/libhello_debug_link.so.debug
deleted file mode 100644 (file)
index f2743c3..0000000
Binary files a/tests/debuginfo-data/libhello_debug_link.so.debug and /dev/null differ
diff --git a/tests/debuginfo-data/libhello_debug_link_so b/tests/debuginfo-data/libhello_debug_link_so
new file mode 100644 (file)
index 0000000..340c828
Binary files /dev/null and b/tests/debuginfo-data/libhello_debug_link_so differ
diff --git a/tests/debuginfo-data/libhello_debug_link_so.debug b/tests/debuginfo-data/libhello_debug_link_so.debug
new file mode 100644 (file)
index 0000000..f2743c3
Binary files /dev/null and b/tests/debuginfo-data/libhello_debug_link_so.debug differ
diff --git a/tests/debuginfo-data/libhello_elf.so b/tests/debuginfo-data/libhello_elf.so
deleted file mode 100644 (file)
index 9d1eb29..0000000
Binary files a/tests/debuginfo-data/libhello_elf.so and /dev/null differ
diff --git a/tests/debuginfo-data/libhello_elf_so b/tests/debuginfo-data/libhello_elf_so
new file mode 100644 (file)
index 0000000..9d1eb29
Binary files /dev/null and b/tests/debuginfo-data/libhello_elf_so differ
diff --git a/tests/debuginfo-data/libhello_so b/tests/debuginfo-data/libhello_so
new file mode 100644 (file)
index 0000000..849f440
Binary files /dev/null and b/tests/debuginfo-data/libhello_so differ
index 0a7da604b7de5f45d550f3f68d3ba75d1bb2c4b0..fd9e4f1c9229641e22cb1b8894d2d894326bd871 100644 (file)
 #include "tap/tap.h"
 
 #define NR_TESTS 36
-#define SO_NAME "libhello.so"
-#define SO_NAME_ELF "libhello_elf.so"
-#define SO_NAME_BUILD_ID "libhello_build_id.so"
-#define SO_NAME_DEBUG_LINK "libhello_debug_link.so"
+#define SO_NAME "libhello_so"
+#define SO_NAME_ELF "libhello_elf_so"
+#define SO_NAME_BUILD_ID "libhello_build_id_so"
+#define SO_NAME_DEBUG_LINK "libhello_debug_link_so"
 #define SO_LOW_ADDR 0x400000
 #define SO_MEMSZ 0x400000
 #define FUNC_FOO_ADDR 0x4014ee
@@ -107,7 +107,7 @@ void test_bin_info_debug_link(const char *data_dir)
        char *func_name = NULL;
        struct bin_info *bin = NULL;
        struct source_location *src_loc = NULL;
-       char *dbg_filename = "libhello_debug_link.so.debug";
+       char *dbg_filename = "libhello_debug_link_so.debug";
        uint32_t crc = 0xe55c2b98;
 
        diag("bin-info tests - separate DWARF via debug link");
index cee2d4463ebfec36309ac15bcd401dbb45fd54ca..61b102ebfe991778238262226a182d6f3f60e4b0 100644 (file)
@@ -40,7 +40,7 @@ void test_bt_dwarf(const char *data_dir)
        struct bt_dwarf_die *die = NULL;
        Dwarf *dwarf_info = NULL;
 
-       snprintf(path, PATH_MAX, "%s/libhello.so", data_dir);
+       snprintf(path, PATH_MAX, "%s/libhello_so", data_dir);
 
        fd = open(path, O_RDONLY);
        ok(fd >= 0, "Open DWARF file %s", path);
This page took 0.042735 seconds and 4 git commands to generate.