make output more reproducible & new test that fails default tip
authorMathieu Lacage <mathieu.lacage@alcmeon.com>
Sat, 23 Feb 2013 21:13:30 +0100
changeset 658 dd8975001939
parent 657 334d85fce772
make output more reproducible & new test that fails
test/Makefile
test/libr.c
test/output/test25.ref
test/test25.c
test/test26.c
--- a/test/Makefile	Sat Feb 23 21:02:39 2013 +0100
+++ b/test/Makefile	Sat Feb 23 21:13:30 2013 +0100
@@ -17,8 +17,8 @@
 
 include $(SRCDIR)$(MACHINE_MAKEFILE)
 
-TESTS=test0 test0_1 test0_2 test1 test2 test3 test4 test5 test6 test7 test8 test8_5 test9 test10 test11 test15 test12 test13 test14 test16 test17 test18 test19 test21 test20 $(TEST64) test23 test24 test25
-TARGETS=hello libq.so libp.so libn.so libo.o libo.so circular-dep libl.so libk.so libj.so libi.so libh.so libg.so libf.so libe.so libd.so libb.so liba.so libefl.so $(LIB64) \
+TESTS=test0 test0_1 test0_2 test1 test2 test3 test4 test5 test6 test7 test8 test8_5 test9 test10 test11 test15 test12 test13 test14 test16 test17 test18 test19 test21 test20 $(TEST64) test23 test24 test25 test26
+TARGETS=hello libr.so libq.so libp.so libn.so libo.o libo.so circular-dep libl.so libk.so libj.so libi.so libh.so libg.so libf.so libe.so libd.so libb.so liba.so libefl.so $(LIB64) \
  $(TESTS) $(addsuffix -ldso,$(TESTS))
 
 all: $(TARGETS)
@@ -115,6 +115,7 @@
 run-test12: TEST_PRE_COMMAND=rm libl.so
 test24: LDFLAGS+=-lpthread
 test25: LDFLAGS+=-lpthread
+test26: LDFLAGS+=-lpthread
 
 
 clean:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/libr.c	Sat Feb 23 21:13:30 2013 +0100
@@ -0,0 +1,1 @@
+__thread int g_b = 2;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/output/test25.ref	Sat Feb 23 21:13:30 2013 +0100
@@ -0,0 +1,104 @@
+libtest25 constructor
+enter main
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+a=0
+leave main
+libtest25 destructor
--- a/test/test25.c	Sat Feb 23 21:02:39 2013 +0100
+++ b/test/test25.c	Sat Feb 23 21:13:30 2013 +0100
@@ -26,8 +26,6 @@
       pthread_attr_init (&attr);
       g_a = 2;
       pthread_create (&th[i], &attr, thread, 0);
-
-      printf ("main a=%d\n", g_a);
     }
 
   for (i = 0; i <sizeof(th)/sizeof(pthread_t); i++)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test26.c	Sat Feb 23 21:13:30 2013 +0100
@@ -0,0 +1,45 @@
+#include <dlfcn.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <semaphore.h>
+#include "test.h"
+LIB(test25)
+
+__thread int g_a = 0;
+
+static void *thread (void*ctx)
+{
+  void *h;
+  printf("a=%d\n", g_a);
+  h = dlopen("libr.so", RTLD_LAZY);
+  dlclose(h);
+  g_a = 10;
+  return 0;
+}
+
+int main (int argc, char *argv[])
+{
+  int i;
+  pthread_t th[100];
+  printf ("enter main\n");
+
+  for (i = 0; i <sizeof(th)/sizeof(pthread_t); i++)
+    {
+      pthread_attr_t attr;
+      pthread_attr_init (&attr);
+      g_a = 2;
+      pthread_create (&th[i], &attr, thread, 0);
+
+      printf ("main a=%d\n", g_a);
+    }
+
+  for (i = 0; i <sizeof(th)/sizeof(pthread_t); i++)
+    {
+      void *retval;
+      pthread_join(th[i], &retval);
+    }
+
+
+  printf ("leave main\n");
+  return 0;
+}