aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2014-01-22 04:24:38 +0000
committerTimothy Gu <timothygu99@gmail.com>2014-01-22 04:24:38 +0000
commitcd27689181969c3144dbf4ec17f8ec90d7b04bd0 (patch)
tree5754bb2b6ca0ba5a24e367fdb60162d8124e8189
parent539e732b6a9025ac6325fff23c33b25a19cd9445 (diff)
downloaddlfcn-win32-cd27689181969c3144dbf4ec17f8ec90d7b04bd0.tar.gz
dlfcn-win32-cd27689181969c3144dbf4ec17f8ec90d7b04bd0.tar.bz2
dlfcn-win32-cd27689181969c3144dbf4ec17f8ec90d7b04bd0.zip
test.c: return 1 if error
-rw-r--r--test.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/test.c b/test.c
index f45a5be..e278c55 100644
--- a/test.c
+++ b/test.c
@@ -20,6 +20,13 @@
20#include <stdio.h> 20#include <stdio.h>
21#include "dlfcn.h" 21#include "dlfcn.h"
22 22
23/* If these dlclose's fails, we don't care as the handles are going to be
24 closed eventually when the program ends. */
25#define CLOSE_LIB dlclose( library );
26#define CLOSE_GLOBAL dlclose( global );
27
28#define RETURN_ERROR return 1;
29
23/* This is what this test does: 30/* This is what this test does:
24 * - Open library with RTLD_GLOBAL 31 * - Open library with RTLD_GLOBAL
25 * - Get global object 32 * - Get global object
@@ -61,6 +68,8 @@ int main()
61 { 68 {
62 error = dlerror( ); 69 error = dlerror( );
63 printf( "Could not open global handle: %s\n", error ? error : "" ); 70 printf( "Could not open global handle: %s\n", error ? error : "" );
71 CLOSE_LIB
72 RETURN_ERROR
64 } 73 }
65 else 74 else
66 printf( "Got global handle: %p\n", global ); 75 printf( "Got global handle: %p\n", global );
@@ -71,6 +80,9 @@ int main()
71 error = dlerror( ); 80 error = dlerror( );
72 printf( "Could not get symbol from library handle: %s\n", 81 printf( "Could not get symbol from library handle: %s\n",
73 error ? error : "" ); 82 error ? error : "" );
83 CLOSE_LIB
84 CLOSE_GLOBAL
85 RETURN_ERROR
74 } 86 }
75 else 87 else
76 printf( "Got symbol from library handle: %p\n", function ); 88 printf( "Got symbol from library handle: %p\n", function );
@@ -84,6 +96,9 @@ int main()
84 error = dlerror( ); 96 error = dlerror( );
85 printf( "Could not get symbol from global handle: %s\n", 97 printf( "Could not get symbol from global handle: %s\n",
86 error ? error : "" ); 98 error ? error : "" );
99 CLOSE_LIB
100 CLOSE_GLOBAL
101 RETURN_ERROR
87 } 102 }
88 else 103 else
89 printf( "Got symbol from global handle: %p\n", function ); 104 printf( "Got symbol from global handle: %p\n", function );
@@ -105,6 +120,9 @@ int main()
105 { 120 {
106 error = dlerror( ); 121 error = dlerror( );
107 printf( "Could not open library locally: %s\n", error ? error : "" ); 122 printf( "Could not open library locally: %s\n", error ? error : "" );
123 CLOSE_LIB
124 CLOSE_GLOBAL
125 RETURN_ERROR
108 } 126 }
109 else 127 else
110 printf( "Opened library locally: %p\n", library ); 128 printf( "Opened library locally: %p\n", library );
@@ -115,6 +133,9 @@ int main()
115 error = dlerror( ); 133 error = dlerror( );
116 printf( "Could not get symbol from library handle: %s\n", 134 printf( "Could not get symbol from library handle: %s\n",
117 error ? error : "" ); 135 error ? error : "" );
136 CLOSE_LIB
137 CLOSE_GLOBAL
138 RETURN_ERROR
118 } 139 }
119 else 140 else
120 printf( "Got symbol from library handle: %p\n", function ); 141 printf( "Got symbol from library handle: %p\n", function );
@@ -128,6 +149,9 @@ int main()
128 error = dlerror( ); 149 error = dlerror( );
129 printf( "Could not get symbol from global handle: %s\n", 150 printf( "Could not get symbol from global handle: %s\n",
130 error ? error : "" ); 151 error ? error : "" );
152 CLOSE_LIB
153 CLOSE_GLOBAL
154 RETURN_ERROR
131 } 155 }
132 else 156 else
133 printf( "Got symbol from global handle: %p\n", function ); 157 printf( "Got symbol from global handle: %p\n", function );
@@ -140,6 +164,8 @@ int main()
140 { 164 {
141 error = dlerror( ); 165 error = dlerror( );
142 printf( "Could not close library: %s\n", error ? error : "" ); 166 printf( "Could not close library: %s\n", error ? error : "" );
167 CLOSE_GLOBAL
168 RETURN_ERROR
143 } 169 }
144 else 170 else
145 printf( "Closed library.\n" ); 171 printf( "Closed library.\n" );
@@ -149,6 +175,7 @@ int main()
149 { 175 {
150 error = dlerror( ); 176 error = dlerror( );
151 printf( "Could not close global handle: %s\n", error ? error : "" ); 177 printf( "Could not close global handle: %s\n", error ? error : "" );
178 RETURN_ERROR
152 } 179 }
153 else 180 else
154 printf( "Closed global handle.\n" ); 181 printf( "Closed global handle.\n" );