Don't use the .so extension on test assets
[babeltrace.git] / tests / lib / test_bin_info.c
index 011b09a185b84b93b7ee38c6375bf542af4fb616..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
@@ -66,27 +66,35 @@ void test_bin_info_build_id(const char *data_dir)
        snprintf(path, PATH_MAX, "%s/%s", data_dir, SO_NAME_BUILD_ID);
 
        bin = bin_info_create(path, SO_LOW_ADDR, SO_MEMSZ, true);
-       ok(bin != NULL, "bin_info_create succesful");
+       ok(bin != NULL, "bin_info_create successful");
 
        /* Test setting build_id */
        ret = bin_info_set_build_id(bin, build_id, BUILD_ID_LEN);
-       ok(ret == 0, "bin_info_set_build_id succesful");
+       ok(ret == 0, "bin_info_set_build_id successful");
 
        /* Test function name lookup (with DWARF) */
        ret = bin_info_lookup_function_name(bin, FUNC_FOO_ADDR, &func_name);
-       ok(ret == 0, "bin_info_lookup_function_name succesful");
-       ok(strcmp(func_name, FUNC_FOO_NAME) == 0,
-               "bin_info_lookup_function_name - correct func_name value");
-       free(func_name);
+       ok(ret == 0, "bin_info_lookup_function_name successful");
+       if (func_name) {
+               ok(strcmp(func_name, FUNC_FOO_NAME) == 0,
+                       "bin_info_lookup_function_name - correct func_name value");
+               free(func_name);
+       } else {
+               skip(1, "bin_info_lookup_function_name - func_name is NULL");
+       }
 
        /* Test source location lookup */
        ret = bin_info_lookup_source_location(bin, FUNC_FOO_ADDR, &src_loc);
-       ok(ret == 0, "bin_info_lookup_source_location succesful");
-       ok(src_loc->line_no == FUNC_FOO_LINE_NO,
-               "bin_info_lookup_source_location - correct line_no");
-       ok(strcmp(src_loc->filename, FUNC_FOO_FILENAME) == 0,
-               "bin_info_lookup_source_location - correct filename");
-       source_location_destroy(src_loc);
+       ok(ret == 0, "bin_info_lookup_source_location successful");
+       if (src_loc) {
+               ok(src_loc->line_no == FUNC_FOO_LINE_NO,
+                       "bin_info_lookup_source_location - correct line_no");
+               ok(strcmp(src_loc->filename, FUNC_FOO_FILENAME) == 0,
+                       "bin_info_lookup_source_location - correct filename");
+               source_location_destroy(src_loc);
+       } else {
+               skip(2, "bin_info_lookup_source_location - src_loc is NULL");
+       }
 
        bin_info_destroy(bin);
 }
@@ -99,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");
@@ -107,29 +115,37 @@ void test_bin_info_debug_link(const char *data_dir)
        snprintf(path, PATH_MAX, "%s/%s", data_dir, SO_NAME_DEBUG_LINK);
 
        bin = bin_info_create(path, SO_LOW_ADDR, SO_MEMSZ, true);
-       ok(bin != NULL, "bin_info_create succesful");
+       ok(bin != NULL, "bin_info_create successful");
 
        /* Test setting debug link */
        ret = bin_info_set_debug_link(bin, dbg_filename, crc);
-       ok(ret == 0, "bin_info_set_debug_link succesful");
+       ok(ret == 0, "bin_info_set_debug_link successful");
 
        /* Test function name lookup (with DWARF) */
        ret = bin_info_lookup_function_name(bin, FUNC_FOO_ADDR_DBG_LINK,
                                        &func_name);
-       ok(ret == 0, "bin_info_lookup_function_name succesful");
-       ok(strcmp(func_name, FUNC_FOO_NAME) == 0,
-               "bin_info_lookup_function_name - correct func_name value");
-       free(func_name);
+       ok(ret == 0, "bin_info_lookup_function_name successful");
+       if (func_name) {
+               ok(strcmp(func_name, FUNC_FOO_NAME) == 0,
+                       "bin_info_lookup_function_name - correct func_name value");
+               free(func_name);
+       } else {
+               skip(1, "bin_info_lookup_function_name - func_name is NULL");
+       }
 
        /* Test source location lookup */
        ret = bin_info_lookup_source_location(bin, FUNC_FOO_ADDR_DBG_LINK,
                                        &src_loc);
-       ok(ret == 0, "bin_info_lookup_source_location succesful");
-       ok(src_loc->line_no == FUNC_FOO_LINE_NO,
-               "bin_info_lookup_source_location - correct line_no");
-       ok(strcmp(src_loc->filename, FUNC_FOO_FILENAME) == 0,
-               "bin_info_lookup_source_location - correct filename");
-       source_location_destroy(src_loc);
+       ok(ret == 0, "bin_info_lookup_source_location successful");
+       if (src_loc) {
+               ok(src_loc->line_no == FUNC_FOO_LINE_NO,
+                       "bin_info_lookup_source_location - correct line_no");
+               ok(strcmp(src_loc->filename, FUNC_FOO_FILENAME) == 0,
+                       "bin_info_lookup_source_location - correct filename");
+               source_location_destroy(src_loc);
+       } else {
+               skip(2, "bin_info_lookup_source_location - src_loc is NULL");
+       }
 
        bin_info_destroy(bin);
 }
@@ -148,15 +164,19 @@ void test_bin_info_elf(const char *data_dir)
        snprintf(path, PATH_MAX, "%s/%s", data_dir, SO_NAME_ELF);
 
        bin = bin_info_create(path, SO_LOW_ADDR, SO_MEMSZ, true);
-       ok(bin != NULL, "bin_info_create succesful");
+       ok(bin != NULL, "bin_info_create successful");
 
        /* Test function name lookup (with ELF) */
        ret = bin_info_lookup_function_name(bin, FUNC_FOO_ADDR_ELF, &func_name);
-       ok(ret == 0, "bin_info_lookup_function_name succesful");
-       ok(strcmp(func_name, FUNC_FOO_NAME_ELF) == 0,
-               "bin_info_lookup_function_name - correct func_name value");
-       free(func_name);
-       func_name = NULL;
+       ok(ret == 0, "bin_info_lookup_function_name successful");
+       if (func_name) {
+               ok(strcmp(func_name, FUNC_FOO_NAME_ELF) == 0,
+                       "bin_info_lookup_function_name - correct func_name value");
+               free(func_name);
+               func_name = NULL;
+       } else {
+               skip(1, "bin_info_lookup_function_name - func_name is NULL");
+       }
 
        /* Test function name lookup - erroneous address */
        ret = bin_info_lookup_function_name(bin, 0, &func_name);
@@ -185,7 +205,7 @@ void test_bin_info(const char *data_dir)
        snprintf(path, PATH_MAX, "%s/%s", data_dir, SO_NAME);
 
        bin = bin_info_create(path, SO_LOW_ADDR, SO_MEMSZ, true);
-       ok(bin != NULL, "bin_info_create succesful");
+       ok(bin != NULL, "bin_info_create successful");
 
        /* Test bin_info_has_address */
        ret = bin_info_has_address(bin, 0);
@@ -201,11 +221,15 @@ void test_bin_info(const char *data_dir)
 
        /* Test function name lookup (with DWARF) */
        ret = bin_info_lookup_function_name(bin, FUNC_FOO_ADDR, &func_name);
-       ok(ret == 0, "bin_info_lookup_function_name succesful");
-       ok(strcmp(func_name, FUNC_FOO_NAME) == 0,
-               "bin_info_lookup_function_name - correct func_name value");
-       free(func_name);
-       func_name = NULL;
+       ok(ret == 0, "bin_info_lookup_function_name successful");
+       if (func_name) {
+               ok(strcmp(func_name, FUNC_FOO_NAME) == 0,
+                       "bin_info_lookup_function_name - correct func_name value");
+               free(func_name);
+               func_name = NULL;
+       } else {
+               skip(1, "bin_info_lookup_function_name - func_name is NULL");
+       }
 
        /* Test function name lookup - erroneous address */
        ret = bin_info_lookup_function_name(bin, 0, &func_name);
@@ -214,24 +238,32 @@ void test_bin_info(const char *data_dir)
 
        /* Test source location lookup */
        ret = bin_info_lookup_source_location(bin, FUNC_FOO_ADDR, &src_loc);
-       ok(ret == 0, "bin_info_lookup_source_location succesful");
-       ok(src_loc->line_no == FUNC_FOO_LINE_NO,
-               "bin_info_lookup_source_location - correct line_no");
-       ok(strcmp(src_loc->filename, FUNC_FOO_FILENAME) == 0,
-               "bin_info_lookup_source_location - correct filename");
-       source_location_destroy(src_loc);
-       src_loc = NULL;
+       ok(ret == 0, "bin_info_lookup_source_location successful");
+       if (src_loc) {
+               ok(src_loc->line_no == FUNC_FOO_LINE_NO,
+                       "bin_info_lookup_source_location - correct line_no");
+               ok(strcmp(src_loc->filename, FUNC_FOO_FILENAME) == 0,
+                       "bin_info_lookup_source_location - correct filename");
+               source_location_destroy(src_loc);
+               src_loc = NULL;
+       } else {
+               skip(2, "bin_info_lookup_source_location - src_loc is NULL");
+       }
 
        /* Test source location lookup - inlined function */
        ret = bin_info_lookup_source_location(bin, FUNC_FOO_TP_ADDR, &src_loc);
        ok(ret == 0,
-               "bin_info_lookup_source_location (inlined func) succesful");
-       ok(src_loc->line_no == FUNC_FOO_TP_LINE_NO,
-               "bin_info_lookup_source_location (inlined func) - correct line_no");
-       ok(strcmp(src_loc->filename, FUNC_FOO_TP_FILENAME) == 0,
-               "bin_info_lookup_source_location (inlined func) - correct filename");
-       source_location_destroy(src_loc);
-       src_loc = NULL;
+               "bin_info_lookup_source_location (inlined func) successful");
+       if (src_loc) {
+               ok(src_loc->line_no == FUNC_FOO_TP_LINE_NO,
+                       "bin_info_lookup_source_location (inlined func) - correct line_no");
+               ok(strcmp(src_loc->filename, FUNC_FOO_TP_FILENAME) == 0,
+                       "bin_info_lookup_source_location (inlined func) - correct filename");
+               source_location_destroy(src_loc);
+               src_loc = NULL;
+       } else {
+               skip(2, "bin_info_lookup_source_location (inlined func) - src_loc is NULL");
+       }
 
        /* Test source location lookup - erroneous address */
        ret = bin_info_lookup_source_location(bin, 0, &src_loc);
@@ -254,7 +286,7 @@ int main(int argc, char **argv)
        }
 
        ret = bin_info_init();
-       ok(ret == 0, "bin_info_init succesful");
+       ok(ret == 0, "bin_info_init successful");
 
        test_bin_info(opt_debug_info_dir);
        test_bin_info_elf(opt_debug_info_dir);
This page took 0.025205 seconds and 4 git commands to generate.