diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/Bmakefile | 3 | ||||
| -rw-r--r-- | tests/ChangeLog | 46 | ||||
| -rw-r--r-- | tests/Debug.ncb | bin | 66583 -> 0 bytes | |||
| -rw-r--r-- | tests/Debug.opt | bin | 53776 -> 0 bytes | |||
| -rw-r--r-- | tests/GNUmakefile | 697 | ||||
| -rw-r--r-- | tests/Makefile | 9 | ||||
| -rw-r--r-- | tests/Wmakefile | 7 | 
7 files changed, 386 insertions, 376 deletions
| diff --git a/tests/Bmakefile b/tests/Bmakefile index 9943037..d42add5 100644 --- a/tests/Bmakefile +++ b/tests/Bmakefile @@ -91,7 +91,7 @@ PASSES=   loadfree.pass \  	  mutex6s.pass  mutex6es.pass  mutex6rs.pass  \
  	  mutex7.pass  mutex7n.pass  mutex7e.pass  mutex7r.pass  \
  	  mutex8.pass  mutex8n.pass  mutex8e.pass  mutex8r.pass  \
 -	  count1.pass  once1.pass  once2.pass  once3.pass  tsd1.pass  \
 +	  count1.pass  once1.pass  once2.pass  once3.pass  once4.pass  tsd1.pass  \
  	  self2.pass  \
  	  cancel1.pass  cancel2.pass  \
  	  semaphore4.pass  semaphore4t.pass  \
 @@ -308,6 +308,7 @@ mutex8r.pass: mutex7r.pass  once1.pass: create1.pass
  once2.pass: once1.pass
  once3.pass: once2.pass
 +once4.pass: once3.pass
  priority1.pass: join1.pass
  priority2.pass: priority1.pass barrier3.pass
  reuse1.pass: create2.pass
 diff --git a/tests/ChangeLog b/tests/ChangeLog index 58b4438..d40cce2 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,25 +1,31 @@ -2005-04-06  Ross Johnson  <rpj@callisto.canberra.edu.au> - -	* cleanup0.c: Fix unguarded global variable accesses. -	* cleanup1.c: Likewise. -	* cleanup2.c: Likewise. -	* cleanup3.c: Likewise. -	* once2.c: Likewise. -	* once3.c: Likewise. - -2005-04-01  Ross Johnson  <rpj@callisto.canberra.edu.au> - -	* GNUmakefile: Add target to test linking static link library. -	* Makefile: Likewise. -	* self1.c: Run process attach/detach routines when static linked. - +2005-04-12  Ross Johnson  <rpj@callisto.canberra.edu.au>
 +
 +        * once4.c: New test; tries to test priority adjustments
 +	in pthread_once(); set priority class to realtime so that
 +	any failures can be seen.
 +
 +2005-04-06  Ross Johnson  <rpj@callisto.canberra.edu.au>
 +
 +	* cleanup0.c: Fix unguarded global variable accesses.
 +	* cleanup1.c: Likewise.
 +	* cleanup2.c: Likewise.
 +	* cleanup3.c: Likewise.
 +	* once2.c: Likewise.
 +	* once3.c: Likewise.
 +
 +2005-04-01  Ross Johnson  <rpj@callisto.canberra.edu.au>
 +
 +	* GNUmakefile: Add target to test linking static link library.
 +	* Makefile: Likewise.
 +	* self1.c: Run process attach/detach routines when static linked.
 +
  2005-03-16  Ross Johnson  <rpj@callisto.canberra.edu.au>
 - -	* mutex5.c: Prevent optimiser from removing asserts. -	* once3.c: New test. - +
 +	* mutex5.c: Prevent optimiser from removing asserts.
 +	* once3.c: New test.
 +
  2005-03-08  Ross Johnson  <rpj@callisto.canberra.edu.au>
 - +
          * once2.c: New test.
  2004-11-19  Ross Johnson  <rpj@callisto.canberra.edu.au>
 diff --git a/tests/Debug.ncb b/tests/Debug.ncbBinary files differ deleted file mode 100644 index 44a6223..0000000 --- a/tests/Debug.ncb +++ /dev/null diff --git a/tests/Debug.opt b/tests/Debug.optBinary files differ deleted file mode 100644 index 9a9d866..0000000 --- a/tests/Debug.opt +++ /dev/null diff --git a/tests/GNUmakefile b/tests/GNUmakefile index 4ecce80..e943c9d 100644 --- a/tests/GNUmakefile +++ b/tests/GNUmakefile @@ -1,348 +1,349 @@ -# Makefile for the pthreads test suite. -# If all of the .pass files can be created, the test suite has passed. -# -# -------------------------------------------------------------------------- -# -#      Pthreads-win32 - POSIX Threads Library for Win32 -#      Copyright(C) 1998 John E. Bossom -#      Copyright(C) 1999,2005 Pthreads-win32 contributors -#  -#      Contact Email: rpj@callisto.canberra.edu.au -#  -#      The current list of contributors is contained -#      in the file CONTRIBUTORS included with the source -#      code distribution. The list can also be seen at the -#      following World Wide Web location: -#      http://sources.redhat.com/pthreads-win32/contributors.html -#  -#      This library is free software; you can redistribute it and/or -#      modify it under the terms of the GNU Lesser General Public -#      License as published by the Free Software Foundation; either -#      version 2 of the License, or (at your option) any later version. -#  -#      This library is distributed in the hope that it will be useful, -#      but WITHOUT ANY WARRANTY; without even the implied warranty of -#      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -#      Lesser General Public License for more details. -#  -#      You should have received a copy of the GNU Lesser General Public -#      License along with this library in the file COPYING.LIB; -#      if not, write to the Free Software Foundation, Inc., -#      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -# - -DLL_VER	= 1 - -CP	= cp -f -MV	= mv -f -RM	= rm -f -CAT	= cat -#CP	= copy -#MV	= rename -#RM	= erase -#CAT	= type -MKDIR	= mkdir -TOUCH	= echo Passed > -ECHO	= @echo -MAKE	= make - -# -# Mingw32 -# -XXCFLAGS	=  -XXLIBS	= -lws2_32 -#CFLAGS	= -O3 -UNDEBUG -Wall $(XXCFLAGS) -CFLAGS	= -g -UNDEBUG -Wall $(XXCFLAGS) -BUILD_DIR	= .. -INCLUDES	= -I. - - -TEST	= GC - -# Default lib version -GCX	= $(TEST)$(DLL_VER) - -# Files we need to run the tests -# - paths are relative to pthreads build dir. -HDR	= pthread.h semaphore.h sched.h -LIB	= libpthread$(GCX).a -DLL	= pthread$(GCX).dll -QAPC	= ../QueueUserAPCEx/User/quserex.dll - -COPYFILES	= $(HDR) $(LIB) $(DLL) $(QAPC) - -# If a test case returns a non-zero exit code to the shell, make will -# stop. - -TESTS	= sizes loadfree \ -	  self1 mutex5 mutex1 mutex1e mutex1n mutex1r \ -	  semaphore1 semaphore2 semaphore3 \ -	  condvar1 condvar1_1 condvar1_2 condvar2 condvar2_1 exit1 \ -	  create1 create2 reuse1 reuse2 equal1 \ -	  kill1 valid1 valid2 \ -	  exit2 exit3 exit4 exit5 \ -	  join0 join1 join2 join3 \ -	  mutex2 mutex2r mutex2e mutex3 mutex3r mutex3e \ -	  mutex4 mutex6 mutex6n mutex6e mutex6r \ -	  mutex6s mutex6es mutex6rs \ -	  mutex7 mutex7n mutex7e mutex7r mutex8 mutex8n mutex8e mutex8r \ -	  count1 once1 once2 once3 tsd1 self2 \ -	  cancel1 cancel2 \ -	  semaphore4 semaphore4t \ -	  delay1 delay2 eyal1 \ -	  condvar3 condvar3_1 condvar3_2 condvar3_3 \ -	  condvar4 condvar5 condvar6 condvar7 condvar8 condvar9 \ -	  errno1 \ -	  rwlock1 rwlock2 rwlock3 rwlock4 rwlock5 rwlock6 rwlock7 rwlock8 \ -	  rwlock2_t rwlock3_t rwlock4_t rwlock5_t rwlock6_t rwlock6_t2 \ -	  context1 cancel3 cancel4 cancel5 cancel6a cancel6d \ -	  cancel7 cancel8 \ -	  cleanup0 cleanup1 cleanup2 cleanup3 \ -	  priority1 priority2 inherit1 \ -	  spin1 spin2 spin3 spin4 \ -	  barrier1 barrier2 barrier3 barrier4 barrier5 \ -	  exception1 exception2 exception3 \ -	  cancel9 create3 - -BENCHTESTS = \ -	benchtest1 benchtest2 benchtest3 benchtest4 benchtest5 - -STATICTESTS = \ -	self1 - -PASSES		= $(TESTS:%=%.pass) -BENCHRESULTS	= $(BENCHTESTS:%=%.bench) -STATICRESULTS	= $(STATICTESTS:%=%.pass) - -help: -	@ $(ECHO) "Run one of the following command lines:" -	@ $(ECHO) "make clean GC    (to test using GC dll with C (no EH) applications)" -	@ $(ECHO) "make clean GCX   (to test using GC dll with C++ (EH) applications)" -	@ $(ECHO) "make clean GCE   (to test using GCE dll with C++ (EH) applications)" -	@ $(ECHO) "make clean GC-bench	  (to benchtest using GNU C dll with C cleanup code)" -	@ $(ECHO) "make clean GCE-bench   (to benchtest using GNU C dll with C++ exception handling)" -	@ $(ECHO) "make clean GC-static   (to test using GC static lib with C (no EH) applications)" - -all: -	@ $(MAKE) clean GC -	@ $(MAKE) clean GCX -	@ $(MAKE) clean GCE - -GC: -	$(MAKE) TEST=GC CC=gcc XXCFLAGS="-D__CLEANUP_C" all-pass - -GCE: -	$(MAKE) TEST=GCE CC=g++ XXCFLAGS="-mthreads -D__CLEANUP_CXX" all-pass - -GCX: -	$(MAKE) TEST=GC CC=g++ XXCFLAGS="-mthreads -D__CLEANUP_C" all-pass - -GC-bench: -	$(MAKE) TEST=GC CC=gcc XXCFLAGS="-D__CLEANUP_C" XXLIBS="benchlib.o" all-bench - -GCE-bench: -	$(MAKE) TEST=GCE  CC=g++ XXCFLAGS="-mthreads -D__CLEANUP_CXX" XXLIBS="benchlib." all-bench - -GC-static: -	$(MAKE) TEST=GC CC=gcc XXCFLAGS="-D__CLEANUP_C -DPTW32_STATIC_LIB" DLL="" all-static - -all-pass: $(PASSES) -	@ $(ECHO) ALL TESTS PASSED! Congratulations! - -all-bench: $(BENCHRESULTS) -	@ $(ECHO) BENCH TESTS COMPLETED. - -all-static: $(STATICRESULTS) -	@ $(ECHO) ALL STATIC TESTS PASSED! Congratulations! -	@ $(ECHO) Build and test the DLL to run all tests. -	@ $(ECHO) This test only confirms that the static lib links correctly. - -benchtest1.bench: -benchtest2.bench: -benchtest3.bench: -benchtest4.bench: -benchtest5.bench: - -barrier1.pass: -barrier2.pass: barrier1.pass -barrier3.pass: barrier2.pass -barrier4.pass: barrier3.pass -barrier5.pass: barrier4.pass -cancel1.pass: create1.pass -cancel2.pass: cancel1.pass -cancel2_1.pass: cancel2.pass -cancel3.pass: context1.pass -cancel4.pass: cancel3.pass -cancel5.pass: cancel3.pass -cancel6a.pass: cancel3.pass -cancel6d.pass: cancel3.pass -cancel7.pass: kill1.pass -cancel8.pass: cancel7.pass -cleanup0.pass: cancel5.pass -cleanup1.pass: cleanup0.pass -cleanup2.pass: cleanup1.pass -cleanup3.pass: cleanup2.pass -condvar1.pass: -condvar1_1.pass: condvar1.pass -condvar1_2.pass: join2.pass -condvar2.pass: condvar1.pass -condvar2_1.pass: condvar2.pass join2.pass -condvar3.pass: create1.pass condvar2.pass -condvar3_1.pass: condvar3.pass join2.pass -condvar3_2.pass: condvar3_1.pass -condvar3_3.pass: condvar3_2.pass -condvar4.pass: create1.pass -condvar5.pass: condvar4.pass -condvar6.pass: condvar5.pass -condvar7.pass: condvar6.pass cleanup1.pass -condvar8.pass: condvar7.pass -condvar9.pass: condvar8.pass -context1.pass: cancel2.pass -count1.pass: join1.pass -create1.pass: mutex2.pass -create2.pass: create1.pass -create3.pass: -delay1.pass: cancel2.pass -delay2.pass: delay1.pass -equal1.pass: create1.pass -errno1.pass: mutex3.pass -exception1.pass: cancel4.pass -exception2.pass: exception1.pass -exception3.pass: exception2.pass -exit1.pass: -exit2.pass: create1.pass -exit3.pass: create1.pass -exit4.pass: -exit5.pass: exit4.pass kill1.pass -eyal1.pass: tsd1.pass -inherit1.pass: join1.pass priority1.pass -join0.pass: create1.pass -join1.pass: create1.pass -join2.pass: create1.pass -join3.pass: join2.pass -kill1.pass: -loadfree.pass: pthread.dll -mutex1.pass: self1.pass -mutex1n.pass: mutex1.pass -mutex1e.pass: mutex1.pass -mutex1r.pass: mutex1.pass -mutex2.pass: mutex1.pass -mutex2r.pass: mutex2.pass -mutex2e.pass: mutex2.pass -mutex3.pass: create1.pass -mutex3r.pass: mutex3.pass -mutex3e.pass: mutex3.pass -mutex4.pass: mutex3.pass -mutex5.pass: -mutex6.pass: mutex4.pass -mutex6n.pass: mutex4.pass -mutex6e.pass: mutex4.pass -mutex6r.pass: mutex4.pass -mutex6s.pass: mutex6.pass -mutex6rs.pass: mutex6r.pass -mutex6es.pass: mutex6e.pass -mutex7.pass: mutex6.pass -mutex7n.pass: mutex6n.pass -mutex7e.pass: mutex6e.pass -mutex7r.pass: mutex6r.pass -mutex8.pass: mutex7.pass -mutex8n.pass: mutex7n.pass -mutex8e.pass: mutex7e.pass -mutex8r.pass: mutex7r.pass -once1.pass: create1.pass -once2.pass: once1.pass -once3.pass: once2.pass -priority1.pass: join1.pass -priority2.pass: priority1.pass barrier3.pass -reuse1.pass: create2.pass -reuse2.pass: reuse1.pass -rwlock1.pass: condvar6.pass -rwlock2.pass: rwlock1.pass -rwlock3.pass: rwlock2.pass -rwlock4.pass: rwlock3.pass -rwlock5.pass: rwlock4.pass -rwlock6.pass: rwlock5.pass -rwlock7.pass: rwlock6.pass -rwlock8.pass: rwlock7.pass -rwlock2_t.pass: rwlock2.pass -rwlock3_t.pass: rwlock2_t.pass -rwlock4_t.pass: rwlock3_t.pass -rwlock5_t.pass: rwlock4_t.pass -rwlock6_t.pass: rwlock5_t.pass -rwlock6_t2.pass: rwlock6_t.pass -self1.pass: -self2.pass: create1.pass -semaphore1.pass: -semaphore2.pass: -semaphore3.pass: semaphore2.pass -semaphore4.pass: semaphore3.pass cancel1.pass -semaphore4t.pass: semaphore4.pass -sizes.pass: -spin1.pass: -spin2.pass: spin1.pass -spin3.pass: spin2.pass -spin4.pass: spin3.pass -tsd1.pass: join1.pass -valid1.pass: join1.pass -valid2.pass: valid1.pass -cancel9.pass: cancel8.pass - -sizes.pass: sizes.exe -	@ $(ECHO) Running $* -	$< > SIZES.$(TEST) -	@ $(CAT) SIZES.$(TEST) -	@ $(ECHO) Passed -	@ $(TOUCH) $@ - -%.pass: %.exe -	@ $(ECHO) Running $* -	$* -	@ $(ECHO) Passed -	@ $(TOUCH) $@ - -%.bench: $(LIB) $(DLL) $(HDR) $(QAPC) $(XXLIBS) %.exe -	@ $(ECHO) Running $* -	$* -	@ $(ECHO) Done -	@ $(TOUCH) $@ - -%.exe: %.c $(LIB) $(DLL) $(HDR) $(QAPC) -	@ $(ECHO) Compiling $@ -	@ $(ECHO) $(CC) $(CFLAGS) -o $@ $< $(INCLUDES) -L. -lpthread$(GCX) -lsupc++ $(XXLIBS) -	@ $(CC) $(CFLAGS) -o $@ $< $(INCLUDES) -L. -lpthread$(GCX) -lsupc++ $(XXLIBS) - -%.pre: %.c $(HDR) -	@ $(CC) -E $(CFLAGS) -o $@ $< $(INCLUDES) - -%.s: %.c $(HDR) -	@ $(CC) -S $(CFLAGS) -o $@ $< $(INCLUDES) - -$(COPYFILES): -	@ $(ECHO) Copying $@ -	@ $(CP) $(BUILD_DIR)/$@ . - -benchlib.o: benchlib.c -	@ $(ECHO) Compiling $@ -	@ $(ECHO) $(CC) -c $(CFLAGS) $< $(INCLUDES) -	@ $(CC) -c $(CFLAGS) $< $(INCLUDES) - -pthread.dll: $(DLL) -	@ $(CP) $(DLL) $@ - -clean: -	- $(RM) *.dll -	- $(RM) *.lib -	- $(RM) pthread.h -	- $(RM) semaphore.h -	- $(RM) sched.h -	- $(RM) *.a -	- $(RM) *.e -	- $(RM) *.i -	- $(RM) *.o -	- $(RM) *.obj -	- $(RM) *.pdb -	- $(RM) *.exe -	- $(RM) *.pass -	- $(RM) *.bench -	- $(RM) *.static -	- $(RM) *.log +# Makefile for the pthreads test suite.
 +# If all of the .pass files can be created, the test suite has passed.
 +#
 +# --------------------------------------------------------------------------
 +#
 +#      Pthreads-win32 - POSIX Threads Library for Win32
 +#      Copyright(C) 1998 John E. Bossom
 +#      Copyright(C) 1999,2005 Pthreads-win32 contributors
 +# 
 +#      Contact Email: rpj@callisto.canberra.edu.au
 +# 
 +#      The current list of contributors is contained
 +#      in the file CONTRIBUTORS included with the source
 +#      code distribution. The list can also be seen at the
 +#      following World Wide Web location:
 +#      http://sources.redhat.com/pthreads-win32/contributors.html
 +# 
 +#      This library is free software; you can redistribute it and/or
 +#      modify it under the terms of the GNU Lesser General Public
 +#      License as published by the Free Software Foundation; either
 +#      version 2 of the License, or (at your option) any later version.
 +# 
 +#      This library is distributed in the hope that it will be useful,
 +#      but WITHOUT ANY WARRANTY; without even the implied warranty of
 +#      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 +#      Lesser General Public License for more details.
 +# 
 +#      You should have received a copy of the GNU Lesser General Public
 +#      License along with this library in the file COPYING.LIB;
 +#      if not, write to the Free Software Foundation, Inc.,
 +#      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 +#
 +
 +DLL_VER	= 1
 +
 +CP	= cp -f
 +MV	= mv -f
 +RM	= rm -f
 +CAT	= cat
 +#CP	= copy
 +#MV	= rename
 +#RM	= erase
 +#CAT	= type
 +MKDIR	= mkdir
 +TOUCH	= echo Passed >
 +ECHO	= @echo
 +MAKE	= make
 +
 +#
 +# Mingw32
 +#
 +XXCFLAGS	= 
 +XXLIBS	= -lws2_32
 +#CFLAGS	= -O3 -UNDEBUG -Wall $(XXCFLAGS)
 +CFLAGS	= -g -UNDEBUG -Wall $(XXCFLAGS)
 +BUILD_DIR	= ..
 +INCLUDES	= -I.
 +
 +
 +TEST	= GC
 +
 +# Default lib version
 +GCX	= $(TEST)$(DLL_VER)
 +
 +# Files we need to run the tests
 +# - paths are relative to pthreads build dir.
 +HDR	= pthread.h semaphore.h sched.h
 +LIB	= libpthread$(GCX).a
 +DLL	= pthread$(GCX).dll
 +QAPC	= ../QueueUserAPCEx/User/quserex.dll
 +
 +COPYFILES	= $(HDR) $(LIB) $(DLL) $(QAPC)
 +
 +# If a test case returns a non-zero exit code to the shell, make will
 +# stop.
 +
 +TESTS	= sizes loadfree \
 +	  self1 mutex5 mutex1 mutex1e mutex1n mutex1r \
 +	  semaphore1 semaphore2 semaphore3 \
 +	  condvar1 condvar1_1 condvar1_2 condvar2 condvar2_1 exit1 \
 +	  create1 create2 reuse1 reuse2 equal1 \
 +	  kill1 valid1 valid2 \
 +	  exit2 exit3 exit4 exit5 \
 +	  join0 join1 join2 join3 \
 +	  mutex2 mutex2r mutex2e mutex3 mutex3r mutex3e \
 +	  mutex4 mutex6 mutex6n mutex6e mutex6r \
 +	  mutex6s mutex6es mutex6rs \
 +	  mutex7 mutex7n mutex7e mutex7r mutex8 mutex8n mutex8e mutex8r \
 +	  count1 once1 once2 once3 once4 tsd1 self2 \
 +	  cancel1 cancel2 \
 +	  semaphore4 semaphore4t \
 +	  delay1 delay2 eyal1 \
 +	  condvar3 condvar3_1 condvar3_2 condvar3_3 \
 +	  condvar4 condvar5 condvar6 condvar7 condvar8 condvar9 \
 +	  errno1 \
 +	  rwlock1 rwlock2 rwlock3 rwlock4 rwlock5 rwlock6 rwlock7 rwlock8 \
 +	  rwlock2_t rwlock3_t rwlock4_t rwlock5_t rwlock6_t rwlock6_t2 \
 +	  context1 cancel3 cancel4 cancel5 cancel6a cancel6d \
 +	  cancel7 cancel8 \
 +	  cleanup0 cleanup1 cleanup2 cleanup3 \
 +	  priority1 priority2 inherit1 \
 +	  spin1 spin2 spin3 spin4 \
 +	  barrier1 barrier2 barrier3 barrier4 barrier5 \
 +	  exception1 exception2 exception3 \
 +	  cancel9 create3
 +
 +BENCHTESTS = \
 +	benchtest1 benchtest2 benchtest3 benchtest4 benchtest5
 +
 +STATICTESTS = \
 +	self1
 +
 +PASSES		= $(TESTS:%=%.pass)
 +BENCHRESULTS	= $(BENCHTESTS:%=%.bench)
 +STATICRESULTS	= $(STATICTESTS:%=%.pass)
 +
 +help:
 +	@ $(ECHO) "Run one of the following command lines:"
 +	@ $(ECHO) "make clean GC    (to test using GC dll with C (no EH) applications)"
 +	@ $(ECHO) "make clean GCX   (to test using GC dll with C++ (EH) applications)"
 +	@ $(ECHO) "make clean GCE   (to test using GCE dll with C++ (EH) applications)"
 +	@ $(ECHO) "make clean GC-bench	  (to benchtest using GNU C dll with C cleanup code)"
 +	@ $(ECHO) "make clean GCE-bench   (to benchtest using GNU C dll with C++ exception handling)"
 +	@ $(ECHO) "make clean GC-static   (to test using GC static lib with C (no EH) applications)"
 +
 +all:
 +	@ $(MAKE) clean GC
 +	@ $(MAKE) clean GCX
 +	@ $(MAKE) clean GCE
 +
 +GC:
 +	$(MAKE) TEST=GC CC=gcc XXCFLAGS="-D__CLEANUP_C" all-pass
 +
 +GCE:
 +	$(MAKE) TEST=GCE CC=g++ XXCFLAGS="-mthreads -D__CLEANUP_CXX" all-pass
 +
 +GCX:
 +	$(MAKE) TEST=GC CC=g++ XXCFLAGS="-mthreads -D__CLEANUP_C" all-pass
 +
 +GC-bench:
 +	$(MAKE) TEST=GC CC=gcc XXCFLAGS="-D__CLEANUP_C" XXLIBS="benchlib.o" all-bench
 +
 +GCE-bench:
 +	$(MAKE) TEST=GCE  CC=g++ XXCFLAGS="-mthreads -D__CLEANUP_CXX" XXLIBS="benchlib." all-bench
 +
 +GC-static:
 +	$(MAKE) TEST=GC CC=gcc XXCFLAGS="-D__CLEANUP_C -DPTW32_STATIC_LIB" DLL="" all-static
 +
 +all-pass: $(PASSES)
 +	@ $(ECHO) ALL TESTS PASSED! Congratulations!
 +
 +all-bench: $(BENCHRESULTS)
 +	@ $(ECHO) BENCH TESTS COMPLETED.
 +
 +all-static: $(STATICRESULTS)
 +	@ $(ECHO) ALL STATIC TESTS PASSED! Congratulations!
 +	@ $(ECHO) Build and test the DLL to run all tests.
 +	@ $(ECHO) This test only confirms that the static lib links correctly.
 +
 +benchtest1.bench:
 +benchtest2.bench:
 +benchtest3.bench:
 +benchtest4.bench:
 +benchtest5.bench:
 +
 +barrier1.pass:
 +barrier2.pass: barrier1.pass
 +barrier3.pass: barrier2.pass
 +barrier4.pass: barrier3.pass
 +barrier5.pass: barrier4.pass
 +cancel1.pass: create1.pass
 +cancel2.pass: cancel1.pass
 +cancel2_1.pass: cancel2.pass
 +cancel3.pass: context1.pass
 +cancel4.pass: cancel3.pass
 +cancel5.pass: cancel3.pass
 +cancel6a.pass: cancel3.pass
 +cancel6d.pass: cancel3.pass
 +cancel7.pass: kill1.pass
 +cancel8.pass: cancel7.pass
 +cleanup0.pass: cancel5.pass
 +cleanup1.pass: cleanup0.pass
 +cleanup2.pass: cleanup1.pass
 +cleanup3.pass: cleanup2.pass
 +condvar1.pass:
 +condvar1_1.pass: condvar1.pass
 +condvar1_2.pass: join2.pass
 +condvar2.pass: condvar1.pass
 +condvar2_1.pass: condvar2.pass join2.pass
 +condvar3.pass: create1.pass condvar2.pass
 +condvar3_1.pass: condvar3.pass join2.pass
 +condvar3_2.pass: condvar3_1.pass
 +condvar3_3.pass: condvar3_2.pass
 +condvar4.pass: create1.pass
 +condvar5.pass: condvar4.pass
 +condvar6.pass: condvar5.pass
 +condvar7.pass: condvar6.pass cleanup1.pass
 +condvar8.pass: condvar7.pass
 +condvar9.pass: condvar8.pass
 +context1.pass: cancel2.pass
 +count1.pass: join1.pass
 +create1.pass: mutex2.pass
 +create2.pass: create1.pass
 +create3.pass:
 +delay1.pass: cancel2.pass
 +delay2.pass: delay1.pass
 +equal1.pass: create1.pass
 +errno1.pass: mutex3.pass
 +exception1.pass: cancel4.pass
 +exception2.pass: exception1.pass
 +exception3.pass: exception2.pass
 +exit1.pass:
 +exit2.pass: create1.pass
 +exit3.pass: create1.pass
 +exit4.pass:
 +exit5.pass: exit4.pass kill1.pass
 +eyal1.pass: tsd1.pass
 +inherit1.pass: join1.pass priority1.pass
 +join0.pass: create1.pass
 +join1.pass: create1.pass
 +join2.pass: create1.pass
 +join3.pass: join2.pass
 +kill1.pass:
 +loadfree.pass: pthread.dll
 +mutex1.pass: self1.pass
 +mutex1n.pass: mutex1.pass
 +mutex1e.pass: mutex1.pass
 +mutex1r.pass: mutex1.pass
 +mutex2.pass: mutex1.pass
 +mutex2r.pass: mutex2.pass
 +mutex2e.pass: mutex2.pass
 +mutex3.pass: create1.pass
 +mutex3r.pass: mutex3.pass
 +mutex3e.pass: mutex3.pass
 +mutex4.pass: mutex3.pass
 +mutex5.pass:
 +mutex6.pass: mutex4.pass
 +mutex6n.pass: mutex4.pass
 +mutex6e.pass: mutex4.pass
 +mutex6r.pass: mutex4.pass
 +mutex6s.pass: mutex6.pass
 +mutex6rs.pass: mutex6r.pass
 +mutex6es.pass: mutex6e.pass
 +mutex7.pass: mutex6.pass
 +mutex7n.pass: mutex6n.pass
 +mutex7e.pass: mutex6e.pass
 +mutex7r.pass: mutex6r.pass
 +mutex8.pass: mutex7.pass
 +mutex8n.pass: mutex7n.pass
 +mutex8e.pass: mutex7e.pass
 +mutex8r.pass: mutex7r.pass
 +once1.pass: create1.pass
 +once2.pass: once1.pass
 +once3.pass: once2.pass
 +once4.pass: once3.pass
 +priority1.pass: join1.pass
 +priority2.pass: priority1.pass barrier3.pass
 +reuse1.pass: create2.pass
 +reuse2.pass: reuse1.pass
 +rwlock1.pass: condvar6.pass
 +rwlock2.pass: rwlock1.pass
 +rwlock3.pass: rwlock2.pass
 +rwlock4.pass: rwlock3.pass
 +rwlock5.pass: rwlock4.pass
 +rwlock6.pass: rwlock5.pass
 +rwlock7.pass: rwlock6.pass
 +rwlock8.pass: rwlock7.pass
 +rwlock2_t.pass: rwlock2.pass
 +rwlock3_t.pass: rwlock2_t.pass
 +rwlock4_t.pass: rwlock3_t.pass
 +rwlock5_t.pass: rwlock4_t.pass
 +rwlock6_t.pass: rwlock5_t.pass
 +rwlock6_t2.pass: rwlock6_t.pass
 +self1.pass:
 +self2.pass: create1.pass
 +semaphore1.pass:
 +semaphore2.pass:
 +semaphore3.pass: semaphore2.pass
 +semaphore4.pass: semaphore3.pass cancel1.pass
 +semaphore4t.pass: semaphore4.pass
 +sizes.pass:
 +spin1.pass:
 +spin2.pass: spin1.pass
 +spin3.pass: spin2.pass
 +spin4.pass: spin3.pass
 +tsd1.pass: join1.pass
 +valid1.pass: join1.pass
 +valid2.pass: valid1.pass
 +cancel9.pass: cancel8.pass
 +
 +sizes.pass: sizes.exe
 +	@ $(ECHO) Running $*
 +	$< > SIZES.$(TEST)
 +	@ $(CAT) SIZES.$(TEST)
 +	@ $(ECHO) Passed
 +	@ $(TOUCH) $@
 +
 +%.pass: %.exe
 +	@ $(ECHO) Running $*
 +	$*
 +	@ $(ECHO) Passed
 +	@ $(TOUCH) $@
 +
 +%.bench: $(LIB) $(DLL) $(HDR) $(QAPC) $(XXLIBS) %.exe
 +	@ $(ECHO) Running $*
 +	$*
 +	@ $(ECHO) Done
 +	@ $(TOUCH) $@
 +
 +%.exe: %.c $(LIB) $(DLL) $(HDR) $(QAPC)
 +	@ $(ECHO) Compiling $@
 +	@ $(ECHO) $(CC) $(CFLAGS) -o $@ $< $(INCLUDES) -L. -lpthread$(GCX) -lsupc++ $(XXLIBS)
 +	@ $(CC) $(CFLAGS) -o $@ $< $(INCLUDES) -L. -lpthread$(GCX) -lsupc++ $(XXLIBS)
 +
 +%.pre: %.c $(HDR)
 +	@ $(CC) -E $(CFLAGS) -o $@ $< $(INCLUDES)
 +
 +%.s: %.c $(HDR)
 +	@ $(CC) -S $(CFLAGS) -o $@ $< $(INCLUDES)
 +
 +$(COPYFILES):
 +	@ $(ECHO) Copying $@
 +	@ $(CP) $(BUILD_DIR)/$@ .
 +
 +benchlib.o: benchlib.c
 +	@ $(ECHO) Compiling $@
 +	@ $(ECHO) $(CC) -c $(CFLAGS) $< $(INCLUDES)
 +	@ $(CC) -c $(CFLAGS) $< $(INCLUDES)
 +
 +pthread.dll: $(DLL)
 +	@ $(CP) $(DLL) $@
 +
 +clean:
 +	- $(RM) *.dll
 +	- $(RM) *.lib
 +	- $(RM) pthread.h
 +	- $(RM) semaphore.h
 +	- $(RM) sched.h
 +	- $(RM) *.a
 +	- $(RM) *.e
 +	- $(RM) *.i
 +	- $(RM) *.o
 +	- $(RM) *.obj
 +	- $(RM) *.pdb
 +	- $(RM) *.exe
 +	- $(RM) *.pass
 +	- $(RM) *.bench
 +	- $(RM) *.static
 +	- $(RM) *.log
 diff --git a/tests/Makefile b/tests/Makefile index f9dfd41..228b42c 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -95,7 +95,7 @@ PASSES= sizes.pass  loadfree.pass \  	  mutex6s.pass  mutex6es.pass  mutex6rs.pass  \
  	  mutex7.pass  mutex7n.pass  mutex7e.pass  mutex7r.pass  \
  	  mutex8.pass  mutex8n.pass  mutex8e.pass  mutex8r.pass  \
 -	  count1.pass  once1.pass  once2.pass  once3.pass  tsd1.pass  \
 +	  count1.pass  once1.pass  once2.pass  once3.pass  once4.pass  tsd1.pass  \
  	  self2.pass  \
  	  cancel1.pass  cancel2.pass  \
  	  semaphore4.pass  semaphore4t.pass  \
 @@ -120,9 +120,9 @@ PASSES= sizes.pass  loadfree.pass \  BENCHRESULTS = \
  	  benchtest1.bench benchtest2.bench benchtest3.bench benchtest4.bench benchtest5.bench
 -STATICRESULTS = \ -	  self1.pass - +STATICRESULTS = \
 +	  self1.pass
 +
  help:
  	@ $(ECHO) Run one of the following command lines:
  	@ $(ECHO) nmake clean VC    (to test using VC dll with VC (no EH) applications)
 @@ -332,6 +332,7 @@ mutex8r.pass: mutex7r.pass  once1.pass: create1.pass
  once2.pass: once1.pass
  once3.pass: once2.pass
 +once4.pass: once3.pass
  priority1.pass: join1.pass
  priority2.pass: priority1.pass barrier3.pass
  reuse1.pass: create2.pass
 diff --git a/tests/Wmakefile b/tests/Wmakefile index 653a09a..b608005 100644 --- a/tests/Wmakefile +++ b/tests/Wmakefile @@ -31,9 +31,9 @@  #      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  #
 - +
  DLL_VER	= 1
 - +
  .EXTENSIONS:
  .EXTENSIONS: .pass .exe .obj .i .c
 @@ -91,7 +91,7 @@ PASSES	= sizes.pass  loadfree.pass &  	  mutex6s.pass  mutex6es.pass  mutex6rs.pass  &
  	  mutex7.pass  mutex7n.pass  mutex7e.pass  mutex7r.pass  &
  	  mutex8.pass  mutex8n.pass  mutex8e.pass  mutex8r.pass  &
 -	  count1.pass  once1.pass  once2.pass  once3.pass  tsd1.pass  &
 +	  count1.pass  once1.pass  once2.pass  once3.pass  once4.pass  tsd1.pass  &
  	  self2.pass  &
  	  cancel1.pass  cancel2.pass  &
  	  semaphore4.pass semaphore4t.pass  &
 @@ -305,6 +305,7 @@ mutex8r.pass: mutex7r.pass  once1.pass: create1.pass
  once2.pass: once1.pass
  once3.pass: once2.pass
 +once4.pass: once3.pass
  priority1.pass: join1.pass
  priority2.pass: priority1.pass barrier3.pass
  reuse1.pass: create2.pass
 | 
