- Xtreams::FileReadingWritingTest
authorjoe
Fri, 15 Mar 2013 19:39:10 -0400
changeset 112 b6b3d8435bb7
parent 111 44ac233b2f83
child 113 c0df9d2ad5d3
- Xtreams::FileReadingWritingTest class: Xtreams::FileReadingWritingTest added: #version_HG - stx_goodies_xtreams_terminals_tests class: stx_goodies_xtreams_terminals_tests changed: #classNamesAndAttributes - Xtreams::BlockClosureReadingWritingTest class: Xtreams::BlockClosureReadingWritingTest added: #version_HG - Xtreams::PipeReadingWritingTest class: Xtreams::PipeReadingWritingTest added: #version_HG - Xtreams::BufferReadingWritingTest class: Xtreams::BufferReadingWritingTest added: #version_HG - Xtreams::BlockClosureTest class: Xtreams::BlockClosureTest added: #version_HG - Xtreams::RingBufferReadingWritingTest class: Xtreams::RingBufferReadingWritingTest added: #version_HG - Xtreams::BufferedWriteStreamTest class: Xtreams::BufferedWriteStreamTest added: #version_HG - Xtreams::CollectionReadingWritingTest class: Xtreams::CollectionReadingWritingTest added: #version_HG - Xtreams::SocketReadingWritingTest class: Xtreams::SocketReadingWritingTest added: #version_HG - Xtreams::ElasticBufferReadingWritingTest class: Xtreams::ElasticBufferReadingWritingTest added: #version_HG
terminals/tests/Make.proto
terminals/tests/Make.spec
terminals/tests/Makefile
terminals/tests/Xtreams__BlockClosureReadingWritingTest.st
terminals/tests/Xtreams__BlockClosureTest.st
terminals/tests/Xtreams__BufferReadingWritingTest.st
terminals/tests/Xtreams__BufferedWriteStreamTest.st
terminals/tests/Xtreams__CollectionReadingWritingTest.st
terminals/tests/Xtreams__ElasticBufferReadingWritingTest.st
terminals/tests/Xtreams__FileReadingWritingTest.st
terminals/tests/Xtreams__PipeReadingWritingTest.st
terminals/tests/Xtreams__RingBufferReadingWritingTest.st
terminals/tests/Xtreams__SharedQueueReadingWritingTest.st
terminals/tests/Xtreams__SocketReadingWritingTest.st
terminals/tests/abbrev.stc
terminals/tests/bc.mak
terminals/tests/bmake.bat
terminals/tests/lccmake.bat
terminals/tests/libInit.cc
terminals/tests/mingwmake.bat
terminals/tests/stx_goodies_xtreams_terminals_tests.st
terminals/tests/tests.rc
terminals/tests/vcmake.bat
--- a/terminals/tests/Make.proto	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Make.proto	Fri Mar 15 19:39:10 2013 -0400
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_goodies_xtreams_terminals_tests at 2012-01-30 17:29:44.441.
+# automagically generated from the projectDefinition: stx_goodies_xtreams_terminals_tests.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/xtreams/core/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/goodies/xtreams/core -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/xtreams/core/tests -I$(INCLUDE_TOP)/stx/goodies/xtreams/core -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/goodies/xtreams/support -I$(INCLUDE_TOP)/stx/goodies/sunit
 
 
 # if you need any additional defines for embedded C code,
@@ -63,22 +63,49 @@
 
 all:: preMake classLibRule postMake
 
-pre_objs::  update-svn-revision
+pre_objs::  
+
 
 
 
-update-svn-revision:
+# Update SVN revision in package definition class
+ifneq (,$(findstring .svn,$(wildcard .svn)))
+.svnversion: *.st
 	if [ -d .svn ]; then \
 		rev=$(shell svnversion -n); \
-		if [ ! -r .svnversion -o "$$rev" != "$$(cat .svnversion)" ]; then \
-			echo -n $$rev > .svnversion; \
-			rev2=$$(printf "%15s" \'$$rev\'); \
-			sed -i -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"$$rev2\"\$$\"/g" \
-				stx_goodies_xtreams_terminals_tests.st; \
-		fi \
+		echo -n $$rev > .svnversion; \
+	else \
+		echo -n exported > .svnversion; \
+	fi
+
+stx_goodies_xtreams_terminals_tests.o: stx_goodies_xtreams_terminals_tests.st .svnversion
+	@if [ -d .svn ]; then \
+		rev2="$(shell printf "%-16s" $$(cat .svnversion))"; \
+		echo "  [SV]  Expanding svnRevisionNo in $1.st"; \
+		sed -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"\'$$rev2\'\"\$$\"/g" $< > .stx_goodies_xtreams_terminals_tests.svn.st; \
 	fi
-.PHONY: update-svn-revision
+	$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.stx_goodies_xtreams_terminals_tests.svn $(C_RULE);
+	sed -i -e "s/\".stx_goodies_xtreams_terminals_tests.svn.st\");/\"\stx_goodies_xtreams_terminals_tests.st\");/g" .stx_goodies_xtreams_terminals_tests.svn.c
+	$(MAKE) .stx_goodies_xtreams_terminals_tests.svn.$(O)
+	@mv .stx_goodies_xtreams_terminals_tests.svn.$(O) stx_goodies_xtreams_terminals_tests.$(O)
+endif
+
+
 
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
+stx_goodies_xtreams_terminals_tests.$(O): $(shell hg root)/.hg/dirstate
+endif
+
+
+
+
+# run default testsuite for this package
+test: $(TOP)/goodies/builder/reports
+	$(MAKE) -C $(TOP)/goodies/builder/reports
+	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
 
 
 
@@ -96,14 +123,15 @@
 
 prereq: $(REQUIRED_SUPPORT_DIRS)
 	cd ../../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../support && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../core && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../substreams && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../core/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../../librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
@@ -118,6 +146,16 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
+$(OUTDIR)Xtreams__BlockClosureReadingWritingTest.$(O) Xtreams__BlockClosureReadingWritingTest.$(H): Xtreams__BlockClosureReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__BlockClosureTest.$(O) Xtreams__BlockClosureTest.$(H): Xtreams__BlockClosureTest.st $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__BufferReadingWritingTest.$(O) Xtreams__BufferReadingWritingTest.$(H): Xtreams__BufferReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__BufferedWriteStreamTest.$(O) Xtreams__BufferedWriteStreamTest.$(H): Xtreams__BufferedWriteStreamTest.st $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__CollectionReadingWritingTest.$(O) Xtreams__CollectionReadingWritingTest.$(H): Xtreams__CollectionReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__ElasticBufferReadingWritingTest.$(O) Xtreams__ElasticBufferReadingWritingTest.$(H): Xtreams__ElasticBufferReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__FileReadingWritingTest.$(O) Xtreams__FileReadingWritingTest.$(H): Xtreams__FileReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/support/XtreamsPool.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__PipeReadingWritingTest.$(O) Xtreams__PipeReadingWritingTest.$(H): Xtreams__PipeReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/support/XtreamsPool.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__RingBufferReadingWritingTest.$(O) Xtreams__RingBufferReadingWritingTest.$(H): Xtreams__RingBufferReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__SocketReadingWritingTest.$(O) Xtreams__SocketReadingWritingTest.$(H): Xtreams__SocketReadingWritingTest.st $(INCLUDE_TOP)/stx/goodies/xtreams/support/XtreamsPool.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)/stx/goodies/xtreams/core/tests/Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_xtreams_terminals_tests.$(O) stx_goodies_xtreams_terminals_tests.$(H): stx_goodies_xtreams_terminals_tests.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/terminals/tests/Make.spec	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Make.spec	Fri Mar 15 19:39:10 2013 -0400
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_goodies_xtreams_terminals_tests at 2012-01-30 17:29:44.430.
+# automagically generated from the projectDefinition: stx_goodies_xtreams_terminals_tests.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -50,13 +50,33 @@
 STCWARNINGS=-warnNonStandard
 
 COMMON_CLASSES= \
+	Xtreams::BlockClosureReadingWritingTest \
+	Xtreams::BlockClosureTest \
+	Xtreams::BufferReadingWritingTest \
+	Xtreams::BufferedWriteStreamTest \
+	Xtreams::CollectionReadingWritingTest \
+	Xtreams::ElasticBufferReadingWritingTest \
+	Xtreams::FileReadingWritingTest \
+	Xtreams::PipeReadingWritingTest \
+	Xtreams::RingBufferReadingWritingTest \
+	Xtreams::SocketReadingWritingTest \
 	stx_goodies_xtreams_terminals_tests \
 
 
 
 
 COMMON_OBJS= \
-    $(OUTDIR)stx_goodies_xtreams_terminals_tests.$(O) \
+    $(OUTDIR_SLASH)Xtreams__BlockClosureReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__BlockClosureTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__BufferReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__BufferedWriteStreamTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__CollectionReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__ElasticBufferReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__FileReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__PipeReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__RingBufferReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)Xtreams__SocketReadingWritingTest.$(O) \
+    $(OUTDIR_SLASH)stx_goodies_xtreams_terminals_tests.$(O) \
 
 
 
--- a/terminals/tests/Makefile	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Makefile	Fri Mar 15 19:39:10 2013 -0400
@@ -15,5 +15,7 @@
 #only needed for the definition of $(TOP)
 include Make.proto
 
-makefile:
+makefile: mf
+
+mf:
 	$(TOP)/rules/stmkmf
--- a/terminals/tests/Xtreams__BlockClosureReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__BlockClosureReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -23,6 +23,12 @@
 
 !BlockClosureReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__BlockClosureTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__BlockClosureTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -21,6 +21,12 @@
 
 !BlockClosureTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__BufferReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__BufferReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -21,6 +21,12 @@
 
 !BufferReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__BufferedWriteStreamTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__BufferedWriteStreamTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -34,6 +34,12 @@
 
 !BufferedWriteStreamTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__CollectionReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__CollectionReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -72,6 +72,12 @@
 
 !CollectionReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__ElasticBufferReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__ElasticBufferReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -21,6 +21,12 @@
 
 !ElasticBufferReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__FileReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__FileReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -38,6 +38,12 @@
 
 !FileReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__PipeReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__PipeReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -51,6 +51,12 @@
 
 !PipeReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__RingBufferReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__RingBufferReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -35,6 +35,12 @@
 
 !RingBufferReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/Xtreams__SharedQueueReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-"{ Package: 'stx:goodies/xtreams/terminals/tests' }"
-
-"{ NameSpace: Xtreams }"
-
-InfiniteReadingWritingTests subclass:#SharedQueueReadingWritingTest
-	instanceVariableNames:'queue'
-	classVariableNames:''
-	poolDictionaries:'XtreamsPool'
-	category:'Xtreams-Terminals-Tests'
-!
-
-
-!SharedQueueReadingWritingTest methodsFor:'initialize-release'!
-
-setUp
-
-        queue := SharedQueue new: 1024.
-        (input := queue reading) contentsSpecies: ByteArray.
-        (output := queue writing) contentsSpecies: ByteArray
-! !
-
-!SharedQueueReadingWritingTest methodsFor:'utilities'!
-
-timeout: timeoutDuration server: serverBlock client: clientBlock
-        "For tests that must be able to write and read at the same time, where they may block on each.
-         Sockets, Pipes have an operating system buffer which dictates its bandwidth."
-
-        |       timeout
-                serverSuccess serverProcess serverLock
-                clientSuccess clientProcess clientLock|
-
-        timeout := false.
-        serverLock := Semaphore new.
-        clientLock := Semaphore new.
-        serverSuccess := clientSuccess := false.
-        serverProcess := [serverSuccess := serverBlock value. serverLock signal] fork.
-        clientProcess := [clientSuccess := clientBlock value. clientLock signal] fork.
-
-        serverLock wait.
-        clientLock wait.
-
-        self assert: serverSuccess.
-        self assert: clientSuccess.
-        self deny: timeout
-! !
-
-!SharedQueueReadingWritingTest class methodsFor:'documentation'!
-
-version_SVN
-    ^ '$Id$'
-! !
--- a/terminals/tests/Xtreams__SocketReadingWritingTest.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/Xtreams__SocketReadingWritingTest.st	Fri Mar 15 19:39:10 2013 -0400
@@ -55,6 +55,12 @@
 
 !SocketReadingWritingTest class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/terminals/tests/abbrev.stc	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/abbrev.stc	Fri Mar 15 19:39:10 2013 -0400
@@ -1,3 +1,6 @@
+# automagically generated by the project definition
+# this file is needed for stc to be able to compile modules independently.
+# it provides information about a classes filename, category and especially namespace.
 Xtreams::BlockClosureReadingWritingTest Xtreams__BlockClosureReadingWritingTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
 Xtreams::BlockClosureTest Xtreams__BlockClosureTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
 Xtreams::BufferReadingWritingTest Xtreams__BufferReadingWritingTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
@@ -7,6 +10,5 @@
 Xtreams::FileReadingWritingTest Xtreams__FileReadingWritingTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
 Xtreams::PipeReadingWritingTest Xtreams__PipeReadingWritingTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
 Xtreams::RingBufferReadingWritingTest Xtreams__RingBufferReadingWritingTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
-Xtreams::SharedQueueReadingWritingTest Xtreams__SharedQueueReadingWritingTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
 Xtreams::SocketReadingWritingTest Xtreams__SocketReadingWritingTest stx:goodies/xtreams/terminals/tests 'Xtreams-Terminals-Tests' 1
 stx_goodies_xtreams_terminals_tests stx_goodies_xtreams_terminals_tests stx:goodies/xtreams/terminals/tests '* Projects & Packages *' 3
--- a/terminals/tests/bc.mak	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/bc.mak	Fri Mar 15 19:39:10 2013 -0400
@@ -1,20 +1,21 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_goodies_xtreams_terminals_tests at 2012-01-30 17:29:44.448.
+# automagically generated from the projectDefinition: stx_goodies_xtreams_terminals_tests.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
 #
-# This file contains make rules for the win32 platform (using borland-bcc or visual-c).
+# Notice, that the name bc.mak is historical (from times, when only borland c was supported).
+# This file contains make rules for the win32 platform using either borland-bcc or visual-c.
 # It shares common definitions with the unix-make in Make.spec.
-# The nt.mak supports the following targets:
+# The bc.mak supports the following targets:
 #    bmake         - compile all st-files to a classLib (dll)
 #    bmake clean   - clean all temp files
 #    bmake clobber - clean all
 #
 # Historic Note:
-#  this used to contain only rules to make with borland 
+#  this used to contain only rules to make with borland
 #    (called via bmake, by "make.exe -f bc.mak")
 #  this has changed; it is now also possible to build using microsoft visual c
 #    (called via vcmake, by "make.exe -f bc.mak -DUSEVC")
@@ -29,11 +30,11 @@
 !INCLUDE Make.spec
 
 LIBNAME=libstx_goodies_xtreams_terminals_tests
-RESFILES=tests.res
+RESFILES=tests.$(RES)
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\xtreams\core\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\goodies\xtreams\core -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\xtreams\core\tests -I$(INCLUDE_TOP)\stx\goodies\xtreams\core -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\goodies\xtreams\support -I$(INCLUDE_TOP)\stx\goodies\sunit
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -50,20 +51,49 @@
 # build all prerequisite packages for this package
 prereq:
 	pushd ..\..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\support & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\core & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\substreams & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\core\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
 
 
 
 
 
+test: $(TOP)\goodies\builder\reports\NUL
+	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
+	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
+        
+clean::
+	del *.$(CSUFFIX)
+
+
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
+$(OUTDIR)Xtreams__BlockClosureReadingWritingTest.$(O) Xtreams__BlockClosureReadingWritingTest.$(H): Xtreams__BlockClosureReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__BlockClosureTest.$(O) Xtreams__BlockClosureTest.$(H): Xtreams__BlockClosureTest.st $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__BufferReadingWritingTest.$(O) Xtreams__BufferReadingWritingTest.$(H): Xtreams__BufferReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__BufferedWriteStreamTest.$(O) Xtreams__BufferedWriteStreamTest.$(H): Xtreams__BufferedWriteStreamTest.st $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__CollectionReadingWritingTest.$(O) Xtreams__CollectionReadingWritingTest.$(H): Xtreams__CollectionReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__ElasticBufferReadingWritingTest.$(O) Xtreams__ElasticBufferReadingWritingTest.$(H): Xtreams__ElasticBufferReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__FileReadingWritingTest.$(O) Xtreams__FileReadingWritingTest.$(H): Xtreams__FileReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\support\XtreamsPool.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__PipeReadingWritingTest.$(O) Xtreams__PipeReadingWritingTest.$(H): Xtreams__PipeReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\support\XtreamsPool.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__RingBufferReadingWritingTest.$(O) Xtreams__RingBufferReadingWritingTest.$(H): Xtreams__RingBufferReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__SocketReadingWritingTest.$(O) Xtreams__SocketReadingWritingTest.$(H): Xtreams__SocketReadingWritingTest.st $(INCLUDE_TOP)\stx\goodies\xtreams\support\XtreamsPool.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__FiniteReadingWritingTests.$(H) $(INCLUDE_TOP)\stx\goodies\xtreams\core\tests\Xtreams__ReadingWritingTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_xtreams_terminals_tests.$(O) stx_goodies_xtreams_terminals_tests.$(H): stx_goodies_xtreams_terminals_tests.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
+
+# **Must be at end**
+
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+!IFDEF HGROOT
+$(OUTDIR)stx_goodies_xtreams_terminals_tests.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/terminals/tests/bmake.bat	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/bmake.bat	Fri Mar 15 19:39:10 2013 -0400
@@ -1,8 +1,12 @@
 @REM -------
-@REM make using borland bcc
+@REM make using Borland bcc32
 @REM type bmake, and wait...
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
-make.exe -N -f bc.mak %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+make.exe -N -f bc.mak  %DEFINES% %*
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/terminals/tests/lccmake.bat	Fri Mar 15 19:39:10 2013 -0400
@@ -0,0 +1,8 @@
+@REM -------
+@REM make using lcc compiler
+@REM type lccmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+make.exe -N -f bc.mak -DUSELCC=1 %*
+
+
--- a/terminals/tests/libInit.cc	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/libInit.cc	Fri Mar 15 19:39:10 2013 -0400
@@ -13,20 +13,30 @@
 
 #if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
 DLL_EXPORT void _libstx_goodies_xtreams_terminals_tests_Init() INIT_TEXT_SECTION;
-// DLL_EXPORT void _libstx_goodies_xtreams_terminals_tests_InitDefinition() INIT_TEXT_SECTION;
+DLL_EXPORT void _libstx_goodies_xtreams_terminals_tests_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-// void _libstx_goodies_xtreams_terminals_tests_InitDefinition(pass, __pRT__, snd)
-// OBJ snd; struct __vmData__ *__pRT__; {
-// __BEGIN_PACKAGE2__("libstx_goodies_xtreams_terminals_tests__DFN", _libstx_goodies_xtreams_terminals_tests_InitDefinition, "stx:goodies/xtreams/terminals/tests");
-// _stx_137goodies_137xtreams_137terminals_137tests_Init(pass,__pRT__,snd);
+void _libstx_goodies_xtreams_terminals_tests_InitDefinition(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("libstx_goodies_xtreams_terminals_tests__DFN", _libstx_goodies_xtreams_terminals_tests_InitDefinition, "stx:goodies/xtreams/terminals/tests");
+_stx_137goodies_137xtreams_137terminals_137tests_Init(pass,__pRT__,snd);
 
-// __END_PACKAGE__();
-// }
+__END_PACKAGE__();
+}
 
 void _libstx_goodies_xtreams_terminals_tests_Init(pass, __pRT__, snd)
 OBJ snd; struct __vmData__ *__pRT__; {
 __BEGIN_PACKAGE2__("libstx_goodies_xtreams_terminals_tests", _libstx_goodies_xtreams_terminals_tests_Init, "stx:goodies/xtreams/terminals/tests");
+_Xtreams__BlockClosureReadingWritingTest_Init(pass,__pRT__,snd);
+_Xtreams__BlockClosureTest_Init(pass,__pRT__,snd);
+_Xtreams__BufferReadingWritingTest_Init(pass,__pRT__,snd);
+_Xtreams__BufferedWriteStreamTest_Init(pass,__pRT__,snd);
+_Xtreams__CollectionReadingWritingTest_Init(pass,__pRT__,snd);
+_Xtreams__ElasticBufferReadingWritingTest_Init(pass,__pRT__,snd);
+_Xtreams__FileReadingWritingTest_Init(pass,__pRT__,snd);
+_Xtreams__PipeReadingWritingTest_Init(pass,__pRT__,snd);
+_Xtreams__RingBufferReadingWritingTest_Init(pass,__pRT__,snd);
+_Xtreams__SocketReadingWritingTest_Init(pass,__pRT__,snd);
 _stx_137goodies_137xtreams_137terminals_137tests_Init(pass,__pRT__,snd);
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/terminals/tests/mingwmake.bat	Fri Mar 15 19:39:10 2013 -0400
@@ -0,0 +1,16 @@
+@REM -------
+@REM make using mingw gnu compiler
+@REM type mingwmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
+@pushd ..\..\..\..\rules
+@call find_mingw.bat
+@popd
+make.exe -N -f bc.mak %USEMINGW_ARG% %*
+
+
--- a/terminals/tests/stx_goodies_xtreams_terminals_tests.st	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/stx_goodies_xtreams_terminals_tests.st	Fri Mar 15 19:39:10 2013 -0400
@@ -54,7 +54,6 @@
         #'Xtreams::FileReadingWritingTest'
         #'Xtreams::PipeReadingWritingTest'
         #'Xtreams::RingBufferReadingWritingTest'
-        #'Xtreams::SharedQueueReadingWritingTest'
         #'Xtreams::SocketReadingWritingTest'
         #'stx_goodies_xtreams_terminals_tests'
     )
@@ -120,6 +119,12 @@
 
 !stx_goodies_xtreams_terminals_tests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: stx_goodies_xtreams_terminals_tests.st 18 2011-11-21 06:03:36Z mkobetic $'
 ! !
+
--- a/terminals/tests/tests.rc	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/tests.rc	Fri Mar 15 19:39:10 2013 -0400
@@ -3,8 +3,8 @@
 // automagically generated from the projectDefinition: stx_goodies_xtreams_terminals_tests.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,18,18
-  PRODUCTVERSION  6,2,1,1
+  FILEVERSION     6,2,0,1
+  PRODUCTVERSION  6,2,3,0
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
-      VALUE "FileVersion", "6.2.18.18\0"
+      VALUE "FileVersion", "6.2.0.1\0"
       VALUE "InternalName", "stx:goodies/xtreams/terminals/tests\0"
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
       VALUE "ProductName", "Smalltalk/X\0"
-      VALUE "ProductVersion", "6.2.1.1\0"
-      VALUE "ProductDate", "Mon, 30 Jan 2012 22:29:44 GMT\0"
+      VALUE "ProductVersion", "6.2.3.0\0"
+      VALUE "ProductDate", "Fri, 15 Mar 2013 23:37:37 GMT\0"
     END
 
   END
--- a/terminals/tests/vcmake.bat	Fri Mar 15 19:17:42 2013 -0400
+++ b/terminals/tests/vcmake.bat	Fri Mar 15 19:39:10 2013 -0400
@@ -1,12 +1,20 @@
 @REM -------
-@REM make using microsoft visual c
+@REM make using Microsoft Visual C compiler
 @REM type vcmake, and wait...
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
 
 @if not defined VSINSTALLDIR (
-	call "C:\Program Files\Microsoft Visual Studio 10.0"\VC\bin\vcvars32.bat
+    pushd ..\..\..\..\rules
+    call vcsetup.bat
+    popd
 )
-make.exe -N -f bc.mak -DUSEVC %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
+
+