Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/dltest/dltest.c

    r3fafe5e0 r8e3bc063  
    9191}
    9292
     93/** Test calling function that calls a function that returns a constant */
     94static bool test_dlfcn_dl_get_constant_via_call(void)
     95{
     96        int (*p_dl_get_constant)(void);
     97        int val;
     98
     99        printf("Call dlsym/dl_get_constant_via_call...\n");
     100
     101        p_dl_get_constant = dlsym(handle, "dl_get_constant_via_call");
     102        if (p_dl_get_constant == NULL) {
     103                printf("FAILED\n");
     104                return false;
     105        }
     106
     107        val = p_dl_get_constant();
     108
     109        printf("Got %d, expected %d... ", val, dl_constant);
     110        if (val != dl_constant) {
     111                printf("FAILED\n");
     112                return false;
     113        }
     114
     115        printf("Passed\n");
     116        return true;
     117}
     118
    93119/** Test calling a function that returns contents of a private initialized
    94120 * variable.
     
    564590}
    565591
     592/** Test directly calling function that calls a function that returns a constant */
     593static bool test_lnk_dl_get_constant_via_call(void)
     594{
     595        int val;
     596
     597        printf("Call linked dl_get_constant_via_call...\n");
     598
     599        val = dl_get_constant_via_call();
     600
     601        printf("Got %d, expected %d... ", val, dl_constant);
     602        if (val != dl_constant) {
     603                printf("FAILED\n");
     604                return false;
     605        }
     606
     607        printf("Passed\n");
     608        return true;
     609}
     610
    566611/** Test dircetly calling a function that returns contents of a private
    567612 * initialized variable.
     
    853898                return 1;
    854899
     900        if (!test_dlfcn_dl_get_constant_via_call())
     901                return 1;
     902
    855903        if (!test_dlfcn_dl_get_private_var())
    856904                return 1;
     
    905953{
    906954        if (!test_lnk_dl_get_constant())
     955                return 1;
     956
     957        if (!test_lnk_dl_get_constant_via_call())
    907958                return 1;
    908959
Note: See TracChangeset for help on using the changeset viewer.