FIX: Do not treat skipped test as passed!
If it breaks tools, tools should be fixed. A skipped test is not
a test that passed. Period.
--- a/CircularTestResourceTestCase.st Wed Aug 31 17:38:43 2016 +0100
+++ b/CircularTestResourceTestCase.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
ManyTestResourceTestCase subclass:#CircularTestResourceTestCase
instanceVariableNames:''
classVariableNames:''
@@ -50,3 +52,4 @@
version_SVN
^ '§Id: CircularTestResourceTestCase.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/ExampleSetTest.st Wed Aug 31 17:38:43 2016 +0100
+++ b/ExampleSetTest.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestCase subclass:#ExampleSetTest
instanceVariableNames:'full empty'
classVariableNames:''
@@ -59,3 +61,4 @@
version_SVN
^ '§Id: ExampleSetTest.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/ExampleTestResource.st Wed Aug 31 17:38:43 2016 +0100
+++ b/ExampleTestResource.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestResource subclass:#ExampleTestResource
instanceVariableNames:'runningState'
classVariableNames:''
@@ -77,3 +79,4 @@
version_SVN
^ '§Id: ExampleTestResource.st 182 2009-12-05 18:12:17Z vranyj1 §'
! !
+
--- a/FailingTestResourceTestCase.st Wed Aug 31 17:38:43 2016 +0100
+++ b/FailingTestResourceTestCase.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResourceTestCase subclass:#FailingTestResourceTestCase
instanceVariableNames:''
classVariableNames:''
@@ -23,3 +25,4 @@
version_SVN
^ '§Id: FailingTestResourceTestCase.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/Make.proto Wed Aug 31 17:38:43 2016 +0100
+++ b/Make.proto Sat Sep 03 09:08:25 2016 +0100
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/goodies/sunit/Make.proto,v 1.24 2014-03-23 21:08:48 cg Exp $
+# $Header$
#
# DO NOT EDIT
# automagically generated from the projectDefinition: stx_goodies_sunit.
@@ -34,7 +34,7 @@
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libview2
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2
# if you need any additional defines for embedded C code,
@@ -85,13 +85,29 @@
sed -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"\'$$rev2\'\"\$$\"/g" $< > .stx_goodies_sunit.svn.st; \
fi
$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.stx_goodies_sunit.svn $(C_RULE);
- sed -i -e "s/\".stx_goodies_sunit.svn.st\");/\"\stx_goodies_sunit.st\");/g" .stx_goodies_sunit.svn.c
+ sed -i -e "s/\".stx_goodies_sunit.svn.st\");/\"stx_goodies_sunit.st\");/g" .stx_goodies_sunit.svn.c
$(MAKE) .stx_goodies_sunit.svn.$(O)
@mv .stx_goodies_sunit.svn.$(O) stx_goodies_sunit.$(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_sunit.$(O): $(shell hg root)/.hg/dirstate
+endif
+
+
+
+
+# run default testsuite for this package
+test: $(TOP)/goodies/builder/reports
+ $(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init
+ $(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
+
+
# add more install actions here
install::
@@ -107,16 +123,15 @@
# build all mandatory prerequisite packages (containing superclasses) for this package
prereq:
- cd ../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd ../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ cd ../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+ cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
# build all packages containing referenced classes for this package
-# they are nor needed to compile the package
+# they are not needed to compile the package (but later, to load it)
references:
@@ -131,27 +146,27 @@
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)MetricsReporter.$(O) MetricsReporter.$(H): MetricsReporter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)SUnitDelay.$(O) SUnitDelay.$(H): SUnitDelay.st $(INCLUDE_TOP)/stx/libbasic/Delay.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)SUnitNameResolver.$(O) SUnitNameResolver.$(H): SUnitNameResolver.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestAsserter.$(O) TestAsserter.$(H): TestAsserter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestCaseOutcome.$(O) TestCaseOutcome.$(H): TestCaseOutcome.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestCoverageReporter.$(O) TestCoverageReporter.$(H): TestCoverageReporter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestFailure.$(O) TestFailure.$(H): TestFailure.st $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestResult.$(O) TestResult.$(H): TestResult.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestResultReporter.$(O) TestResultReporter.$(H): TestResultReporter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestRunner.$(O) TestRunner.$(H): TestRunner.st $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestSuite.$(O) TestSuite.$(H): TestSuite.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestSuitesScripter.$(O) TestSuitesScripter.$(H): TestSuitesScripter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)stx_goodies_sunit.$(O) stx_goodies_sunit.$(H): stx_goodies_sunit.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)ResumableTestFailure.$(O) ResumableTestFailure.$(H): ResumableTestFailure.st $(INCLUDE_TOP)/stx/goodies/sunit/TestFailure.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestCase.$(O) TestCase.$(H): TestCase.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestCaseWithArguments.$(O) TestCaseWithArguments.$(H): TestCaseWithArguments.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestResource.$(O) TestResource.$(H): TestResource.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestResultStX.$(O) TestResultStX.$(H): TestResultStX.st $(INCLUDE_TOP)/stx/goodies/sunit/TestResult.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestSkipped.$(O) TestSkipped.$(H): TestSkipped.st $(INCLUDE_TOP)/stx/goodies/sunit/TestFailure.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)TestResultForRunWithDebug.$(O) TestResultForRunWithDebug.$(H): TestResultForRunWithDebug.st $(INCLUDE_TOP)/stx/goodies/sunit/TestResultStX.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestResult.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Block.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Symbol.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(STCHDR)
+$(OUTDIR)MetricsReporter.$(O) MetricsReporter.$(C) MetricsReporter.$(H): MetricsReporter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)SUnitDelay.$(O) SUnitDelay.$(C) SUnitDelay.$(H): SUnitDelay.st $(INCLUDE_TOP)/stx/libbasic/Delay.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)SUnitNameResolver.$(O) SUnitNameResolver.$(C) SUnitNameResolver.$(H): SUnitNameResolver.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestAsserter.$(O) TestAsserter.$(C) TestAsserter.$(H): TestAsserter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestCaseOutcome.$(O) TestCaseOutcome.$(C) TestCaseOutcome.$(H): TestCaseOutcome.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestCoverageReporter.$(O) TestCoverageReporter.$(C) TestCoverageReporter.$(H): TestCoverageReporter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestFailure.$(O) TestFailure.$(C) TestFailure.$(H): TestFailure.st $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestResult.$(O) TestResult.$(C) TestResult.$(H): TestResult.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestResultReporter.$(O) TestResultReporter.$(C) TestResultReporter.$(H): TestResultReporter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestRunner.$(O) TestRunner.$(C) TestRunner.$(H): TestRunner.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)TestSuite.$(O) TestSuite.$(C) TestSuite.$(H): TestSuite.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestSuitesScripter.$(O) TestSuitesScripter.$(C) TestSuitesScripter.$(H): TestSuitesScripter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)stx_goodies_sunit.$(O) stx_goodies_sunit.$(C) stx_goodies_sunit.$(H): stx_goodies_sunit.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)ResumableTestFailure.$(O) ResumableTestFailure.$(C) ResumableTestFailure.$(H): ResumableTestFailure.st $(INCLUDE_TOP)/stx/goodies/sunit/TestFailure.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestCase.$(O) TestCase.$(C) TestCase.$(H): TestCase.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestResource.$(O) TestResource.$(C) TestResource.$(H): TestResource.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestResultStX.$(O) TestResultStX.$(C) TestResultStX.$(H): TestResultStX.st $(INCLUDE_TOP)/stx/goodies/sunit/TestResult.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestSkipped.$(O) TestSkipped.$(C) TestSkipped.$(H): TestSkipped.st $(INCLUDE_TOP)/stx/goodies/sunit/TestFailure.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestCaseWithArguments.$(O) TestCaseWithArguments.$(C) TestCaseWithArguments.$(H): TestCaseWithArguments.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)TestResultForRunWithDebug.$(O) TestResultForRunWithDebug.$(C) TestResultForRunWithDebug.$(H): TestResultForRunWithDebug.st $(INCLUDE_TOP)/stx/goodies/sunit/TestResult.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestResultStX.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Block.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/Symbol.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
# ENDMAKEDEPEND --- do not remove this line
--- a/Make.spec Wed Aug 31 17:38:43 2016 +0100
+++ b/Make.spec Sat Sep 03 09:08:25 2016 +0100
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/goodies/sunit/Make.spec,v 1.24 2014-03-23 21:08:48 cg Exp $
+# $Header$
#
# DO NOT EDIT
# automagically generated from the projectDefinition: stx_goodies_sunit.
@@ -22,7 +22,7 @@
# (if removed, they will be created as common
# -Pxxx : defines the package
# -Zxxx : a prefix for variables within the classLib
-# -Dxxx : defines passed to to CC for inline C-code
+# -Dxxx : defines passed to CC for inline C-code
# -Ixxx : include path passed to CC for inline C-code
# +optspace : optimized for space
# +optspace2 : optimized more for space
@@ -42,6 +42,7 @@
# -warnNonStandard : no warnings about ST/X extensions
# -warnEOLComments : no warnings about EOL comment extension
# -warnPrivacy : no warnings about privateClass extension
+# -warnUnused : no warnings about unused variables
#
# ********** OPTIONAL: MODIFY the next line(s) ***
# STCWARNINGS=-warn
@@ -50,9 +51,12 @@
STCWARNINGS=-warnNonStandard
COMMON_CLASSES= \
+ MetricsReporter \
SUnitDelay \
SUnitNameResolver \
TestAsserter \
+ TestCaseOutcome \
+ TestCoverageReporter \
TestFailure \
TestResult \
TestResultReporter \
@@ -62,22 +66,22 @@
stx_goodies_sunit \
ResumableTestFailure \
TestCase \
- TestCaseWithArguments \
TestResource \
- TestCaseOutcome \
TestResultStX \
+ TestSkipped \
+ TestCaseWithArguments \
TestResultForRunWithDebug \
- TestCoverageReporter \
- MetricsReporter \
- TestSkipped \
COMMON_OBJS= \
+ $(OUTDIR_SLASH)MetricsReporter.$(O) \
$(OUTDIR_SLASH)SUnitDelay.$(O) \
$(OUTDIR_SLASH)SUnitNameResolver.$(O) \
$(OUTDIR_SLASH)TestAsserter.$(O) \
+ $(OUTDIR_SLASH)TestCaseOutcome.$(O) \
+ $(OUTDIR_SLASH)TestCoverageReporter.$(O) \
$(OUTDIR_SLASH)TestFailure.$(O) \
$(OUTDIR_SLASH)TestResult.$(O) \
$(OUTDIR_SLASH)TestResultReporter.$(O) \
@@ -87,14 +91,11 @@
$(OUTDIR_SLASH)stx_goodies_sunit.$(O) \
$(OUTDIR_SLASH)ResumableTestFailure.$(O) \
$(OUTDIR_SLASH)TestCase.$(O) \
- $(OUTDIR_SLASH)TestCaseWithArguments.$(O) \
$(OUTDIR_SLASH)TestResource.$(O) \
- $(OUTDIR_SLASH)TestCaseOutcome.$(O) \
$(OUTDIR_SLASH)TestResultStX.$(O) \
+ $(OUTDIR_SLASH)TestSkipped.$(O) \
+ $(OUTDIR_SLASH)TestCaseWithArguments.$(O) \
$(OUTDIR_SLASH)TestResultForRunWithDebug.$(O) \
- $(OUTDIR_SLASH)TestCoverageReporter.$(O) \
- $(OUTDIR_SLASH)MetricsReporter.$(O) \
- $(OUTDIR_SLASH)TestSkipped.$(O) \
$(OUTDIR_SLASH)extensions.$(O) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.init Sat Sep 03 09:08:25 2016 +0100
@@ -0,0 +1,27 @@
+#
+# DO NOT EDIT
+#
+# make uses this file (Makefile) only, if there is no
+# file named "makefile" (lower-case m) in the same directory.
+# My only task is to generate the real makefile and call make again.
+# Thereafter, I am no longer used and needed.
+#
+# MACOSX caveat:
+# as filenames are not case sensitive (in a default setup),
+# we cannot use the above trick. Therefore, this file is now named
+# "Makefile.init", and you have to execute "make -f Makefile.init" to
+# get the initial makefile. This is now also done by the toplevel CONFIG
+# script.
+
+.PHONY: run
+
+run: makefile
+ $(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile: mf
+
+mf:
+ $(TOP)/rules/stmkmf
--- a/ManyTestResourceTestCase.st Wed Aug 31 17:38:43 2016 +0100
+++ b/ManyTestResourceTestCase.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResourceTestCase subclass:#ManyTestResourceTestCase
instanceVariableNames:''
classVariableNames:''
@@ -75,3 +77,4 @@
version_SVN
^ '§Id: ManyTestResourceTestCase.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/ResumableTestFailure.st Wed Aug 31 17:38:43 2016 +0100
+++ b/ResumableTestFailure.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestFailure subclass:#ResumableTestFailure
instanceVariableNames:''
classVariableNames:''
@@ -49,6 +51,12 @@
^ '$Header: /cvs/stx/stx/goodies/sunit/ResumableTestFailure.st,v 1.2 2011-06-29 19:15:49 cg Exp $'
!
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+!
+
version_SVN
^ '§Id: ResumableTestFailure.st 204 2010-09-11 15:21:51Z vranyj1 §'
! !
+
--- a/ResumableTestFailureTestCase.st Wed Aug 31 17:38:43 2016 +0100
+++ b/ResumableTestFailureTestCase.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestCase subclass:#ResumableTestFailureTestCase
instanceVariableNames:'duplicateFailureLog'
classVariableNames:''
@@ -77,3 +79,4 @@
version_SVN
^ '§Id: ResumableTestFailureTestCase.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SUnitTest.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SUnitTest.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestCase subclass:#SUnitTest
instanceVariableNames:'hasRun hasSetup hasRanOnce'
classVariableNames:''
@@ -29,12 +31,21 @@
!SUnitTest methodsFor:'private'!
assertForTestResult: aResult runCount: aRunCount passed: aPassedCount failed: aFailureCount errors: anErrorCount
+ self assertForTestResult: aResult runCount: aRunCount passed: aPassedCount failed: aFailureCount errors: anErrorCount skipped: 0
- self
- assert: aResult runCount = aRunCount;
- assert: aResult passedCount = aPassedCount;
- assert: aResult failureCount = aFailureCount;
- assert: aResult errorCount = anErrorCount
+ "Modified: / 03-09-2016 / 08:54:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+assertForTestResult: aResult runCount: aRunCount passed: aPassedCount failed: aFailureCount errors: anErrorCount skipped: skippedCount
+
+ self
+ assert: aResult runCount = aRunCount;
+ assert: aResult passedCount = aPassedCount;
+ assert: aResult failureCount = aFailureCount;
+ assert: aResult errorCount = anErrorCount;
+ assert: aResult skippedCount = skippedCount
+
+ "Created: / 03-09-2016 / 08:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
error
@@ -56,6 +67,12 @@
setRun
hasRun := true
+!
+
+skipped
+ self skipIf: true description: 'Skipped'
+
+ "Created: / 03-09-2016 / 08:55:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!SUnitTest methodsFor:'running'!
@@ -199,6 +216,24 @@
shouldnt: [false]
!
+testSkip
+
+ | case result |
+
+ case := self class selector: #skipped.
+ result := case run.
+
+ self
+ assertForTestResult: result
+ runCount: 1
+ passed: 0
+ failed: 0
+ errors: 0
+ skipped: 1
+
+ "Created: / 03-09-2016 / 08:53:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
testSuite
| suite result |
@@ -225,6 +260,12 @@
^ '$Header: /cvs/stx/stx/goodies/sunit/SUnitTest.st,v 1.11 2011-06-29 19:15:49 cg Exp $'
!
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+!
+
version_SVN
^ '§Id: SUnitTest.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SUnitTests2.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SUnitTests2.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestCase subclass:#SUnitTests2
instanceVariableNames:''
classVariableNames:''
@@ -89,3 +91,4 @@
version_CVS
^ '$Header: /cvs/stx/stx/goodies/sunit/SUnitTests2.st,v 1.2 2012-08-02 20:56:07 vrany Exp $'
! !
+
--- a/SimpleTestResource.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResource.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestResource subclass:#SimpleTestResource
instanceVariableNames:'runningState hasRun hasSetup'
classVariableNames:''
@@ -13,8 +15,8 @@
The following class instance variables are inherited by this class:
TestResource - current
- TestAsserter -
- Object -
+ TestAsserter -
+ Object -
"
!
@@ -97,3 +99,4 @@
version_SVN
^ '§Id: SimpleTestResource.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceA.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceA.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResource subclass:#SimpleTestResourceA
instanceVariableNames:''
classVariableNames:''
@@ -19,3 +21,4 @@
version_SVN
^ '§Id: SimpleTestResourceA.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceA1.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceA1.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResource subclass:#SimpleTestResourceA1
instanceVariableNames:''
classVariableNames:''
@@ -13,3 +15,4 @@
version_SVN
^ '§Id: SimpleTestResourceA1.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceA2.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceA2.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResource subclass:#SimpleTestResourceA2
instanceVariableNames:''
classVariableNames:''
@@ -13,3 +15,4 @@
version_SVN
^ '§Id: SimpleTestResourceA2.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceB.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceB.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResource subclass:#SimpleTestResourceB
instanceVariableNames:''
classVariableNames:''
@@ -19,3 +21,4 @@
version_SVN
^ '§Id: SimpleTestResourceB.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceB1.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceB1.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResource subclass:#SimpleTestResourceB1
instanceVariableNames:''
classVariableNames:''
@@ -13,3 +15,4 @@
version_SVN
^ '§Id: SimpleTestResourceB1.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceCircular.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceCircular.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResource subclass:#SimpleTestResourceCircular
instanceVariableNames:''
classVariableNames:''
@@ -21,3 +23,4 @@
version_SVN
^ '§Id: SimpleTestResourceCircular.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceCircular1.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceCircular1.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SimpleTestResource subclass:#SimpleTestResourceCircular1
instanceVariableNames:''
classVariableNames:''
@@ -21,3 +23,4 @@
version_SVN
^ '§Id: SimpleTestResourceCircular1.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/SimpleTestResourceTestCase.st Wed Aug 31 17:38:43 2016 +0100
+++ b/SimpleTestResourceTestCase.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestCase subclass:#SimpleTestResourceTestCase
instanceVariableNames:'resource'
classVariableNames:''
@@ -134,3 +136,4 @@
version_SVN
^ '§Id: SimpleTestResourceTestCase.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !
+
--- a/TestResult.st Wed Aug 31 17:38:43 2016 +0100
+++ b/TestResult.st Sat Sep 03 09:08:25 2016 +0100
@@ -260,7 +260,9 @@
runCount
- ^self passedCount + self failureCount + self errorCount
+ ^self passedCount + self failureCount + self errorCount + self skippedCount
+
+ "Modified: / 03-09-2016 / 09:00:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
skipped
@@ -467,16 +469,11 @@
in TestResult>>runCase:. This method is meant to be overriden by
custom TestResult subclasses."
- [
- aTestCase runCase.
- ] sunitOn:self class skipped do: [:ex |
- ex sunitAnnounce: aTestCase toResult: self.
- ex return.
- ].
-
+ aTestCase runCase.
"Modified: / 02-08-2011 / 18:10:09 / cg"
"Created: / 03-08-2011 / 14:02:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (comment): / 03-09-2016 / 09:02:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
runCase:aTestCase
--- a/TestRunInfo.st Wed Aug 31 17:38:43 2016 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-"{ Package: 'stx:goodies/sunit' }"
-
-Object subclass:#TestCaseOutcome
- instanceVariableNames:'testCase result properties'
- classVariableNames:''
- poolDictionaries:''
- category:'SUnit-Base'
-!
-
-!TestCaseOutcome class methodsFor:'documentation'!
-
-documentation
-"
- will keep additional info for a testCase run:
- startTime, endTime,
- backtrace (if fail or error)
- and collectedStdout
-"
-! !
-
-!TestCaseOutcome class methodsFor:'instance creation'!
-
-forCase: aTestCase
-
- ^self new testCase: aTestCase; yourself
-
- "Created: / 16-08-2011 / 15:24:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!TestCaseOutcome methodsFor:'accessing'!
-
-collectedOutput
-
- ^self propertyAt: #collectedOutput
-
- "Modified: / 16-08-2011 / 15:27:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Created: / 16-08-2011 / 18:19:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-collectedOutput: aString
-
- ^self propertyAt: #collectedOutput put: aString
-
- "Modified: / 16-08-2011 / 15:28:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Created: / 16-08-2011 / 18:19:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-endTime
-
- ^self propertyAt: #endTime
-
- "Modified: / 16-08-2011 / 15:28:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-endTime: anObject
-
- ^self propertyAt: #endTime put: anObject
-
- "Modified: / 16-08-2011 / 15:28:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-exceptionDetail
-
- ^self propertyAt: #exceptionDetail
-
- "Modified: / 16-08-2011 / 15:29:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-exceptionDetail: anObject
-
- ^self propertyAt: #exceptionDetail put: anObject
-
- "Modified: / 16-08-2011 / 15:29:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-propertyAt: aSymbol
-
- self propertyAt: aSymbol ifAbsent: [nil]
-
- "Created: / 16-08-2011 / 15:26:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-propertyAt: aSymbol ifAbsent: aBlock
-
- properties isNil ifTrue: [^aBlock value].
- ^properties at: aSymbol ifAbsent:aBlock.
-
- "Created: / 16-08-2011 / 15:27:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-propertyAt: aSymbol put: anObject
-
- properties isNil ifTrue: [properties := Dictionary new].
- properties at: aSymbol put: anObject.
-
- "Created: / 16-08-2011 / 15:28:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-result
- ^ result
-!
-
-result:something
- result := something.
-!
-
-selector
-
- ^testCase selector
-
- "Created: / 16-08-2011 / 15:38:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-startTime
-
- ^self propertyAt: #startTime
-
- "Modified: / 16-08-2011 / 15:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-startTime: anObject
-
- ^self propertyAt: #startTime put: anObject
-
- "Modified: / 16-08-2011 / 15:29:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-testCase
- ^ testCase
-!
-
-testCase:something
- testCase := something.
-! !
-
-!TestCaseOutcome class methodsFor:'documentation'!
-
-version_CVS
- ^ '$Header: /cvs/stx/stx/goodies/sunit/TestRunInfo.st,v 1.5 2011-08-16 18:17:40 vrany Exp $'
-! !
--- a/TestSuitesCompoundScriptTest.st Wed Aug 31 17:38:43 2016 +0100
+++ b/TestSuitesCompoundScriptTest.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
TestSuitesHierarchyScriptTest subclass:#TestSuitesCompoundScriptTest
instanceVariableNames:''
classVariableNames:''
@@ -23,3 +25,4 @@
version_SVN
^ '§Id: TestSuitesCompoundScriptTest.st 182 2009-12-05 18:12:17Z vranyj1 §'
! !
+
--- a/TestSuitesHierarchyScriptTest.st Wed Aug 31 17:38:43 2016 +0100
+++ b/TestSuitesHierarchyScriptTest.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SUnitTest subclass:#TestSuitesHierarchyScriptTest
instanceVariableNames:''
classVariableNames:''
@@ -25,3 +27,4 @@
version_SVN
^ '§Id: TestSuitesHierarchyScriptTest.st 182 2009-12-05 18:12:17Z vranyj1 §'
! !
+
--- a/TestSuitesScriptTest.st Wed Aug 31 17:38:43 2016 +0100
+++ b/TestSuitesScriptTest.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,7 @@
"{ Package: 'stx:goodies/sunit' }"
+"{ NameSpace: Smalltalk }"
+
SUnitTest subclass:#TestSuitesScriptTest
instanceVariableNames:'scripter suite'
classVariableNames:''
@@ -110,3 +112,4 @@
version_SVN
^ '§Id: TestSuitesScriptTest.st 182 2009-12-05 18:12:17Z vranyj1 §'
! !
+
--- a/TestTester.st Wed Aug 31 17:38:43 2016 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1084 +0,0 @@
-"{ Package: 'stx:goodies/sunit' }"
-
-ApplicationModel subclass:#TestTester
- instanceVariableNames:'currentSource testCaseClassListApp testCaseMethodListApp
- testeeClassListApp testeeMethodListApp selectedTesteeClasses
- selectedTesteeMethods selectedTestCaseClasses
- selectedTestCaseMethods testeeMethodListHolder
- testCaseSourceHolder mutatedMethodSourceHolder
- originalMethodSourceHolder testCaseClassGeneratorHolder
- selectedTesteeMethod selectedTestCaseClass infoLabelHolder
- diffTextView numberOfTriedMutations maxTestExecutionTime'
- classVariableNames:''
- poolDictionaries:''
- category:'SUnit-UI'
-!
-
-Object subclass:#Mutator
- instanceVariableNames:'blockToCall treeTop'
- classVariableNames:''
- poolDictionaries:''
- privateIn:TestTester
-!
-
-Error subclass:#TestSuiteIncompleteError
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:TestTester
-!
-
-Error subclass:#TimeoutError
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:TestTester
-!
-
-
-!TestTester class methodsFor:'interface specs'!
-
-windowSpec
- "This resource specification was automatically generated
- by the UIPainter of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the UIPainter may not be able to read the specification."
-
- "
- UIPainter new openOnClass:TestTester andSelector:#windowSpec
- TestTester new openInterface:#windowSpec
- TestTester open
- "
-
- <resource: #canvas>
-
- ^
- #(FullSpec
- name: windowSpec
- window:
- (WindowSpec
- label: 'TestTester'
- name: 'TestTester'
- min: (Point 10 10)
- max: (Point 1024 768)
- bounds: (Rectangle 0 0 554 504)
- menu: mainMenu
- )
- component:
- (SpecCollection
- collection: (
- (MenuPanelSpec
- name: 'ToolBar1'
- layout: (LayoutFrame 0 0.0 0 0 0 1.0 36 0)
- menu: toolbarMenu
- textDefault: true
- )
- (ViewSpec
- name: 'Box4'
- layout: (LayoutFrame 0 0 36 0 0 1 -26 1)
- component:
- (SpecCollection
- collection: (
- (ViewSpec
- name: 'TestedMethodSelectionBox'
- layout: (LayoutFrame 0 0 0 0 0 0.4 0 0.5)
- component:
- (SpecCollection
- collection: (
- (LabelSpec
- label: 'Tested Method'
- name: 'Label4'
- layout: (LayoutFrame 0 0.0 0 0 0 1.0 22 0)
- translateLabel: true
- )
- (SubCanvasSpec
- name: 'TestedMethodClassList'
- layout: (LayoutFrame 0 0 22 0 0 0.5 0 1)
- hasHorizontalScrollBar: false
- hasVerticalScrollBar: false
- majorKey: #'Tools::ClassList'
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: selectedClasses
- aspect: selectedTesteeClasses
- )
- )
- createNewApplication: true
- createNewBuilder: true
- postBuildCallback: postBuildTestedClassList:
- )
- (SubCanvasSpec
- name: 'TestedMethodMethodList'
- layout: (LayoutFrame 0 0.5 22 0 0 1 0 1)
- hasHorizontalScrollBar: false
- hasVerticalScrollBar: false
- majorKey: #'Tools::MethodList'
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: inGeneratorHolder
- aspect: testeeMethodListHolder
- )
- (SubChannelInfoSpec
- subAspect: selectedMethods
- aspect: selectedTesteeMethods
- )
- )
- createNewApplication: true
- createNewBuilder: true
- postBuildCallback: postBuildTestedMethodList:
- )
- )
-
- )
- )
- (LabelSpec
- label: 'Original'
- name: 'Label5'
- layout: (LayoutFrame 0 0.4 0 0 0 0.7 22 0)
- translateLabel: true
- )
- (TextEditorSpec
- name: 'OriginalMethodEditor'
- layout: (LayoutFrame 0 0.4 22 0 0 0.7 0 0.5)
- model: originalMethodSourceHolder
- hasHorizontalScrollBar: true
- hasVerticalScrollBar: true
- hasKeyboardFocusInitially: false
- )
- (LabelSpec
- label: 'Mutation'
- name: 'Label6'
- layout: (LayoutFrame 0 0.7 0 0 0 1 22 0)
- translateLabel: true
- )
- (TextEditorSpec
- name: 'MutatedMethodEditor'
- layout: (LayoutFrame 0 0.7 22 0 0 1 0 0.5)
- model: mutatedMethodSourceHolder
- hasHorizontalScrollBar: true
- hasVerticalScrollBar: true
- hasKeyboardFocusInitially: false
- )
- (ViewSpec
- name: 'TestSuiteSelectionBox'
- layout: (LayoutFrame 0 0 0 0.5 0 0.4 0 1)
- component:
- (SpecCollection
- collection: (
- (LabelSpec
- label: 'TestCase'
- name: 'Label3'
- layout: (LayoutFrame 0 0.0 0 0 0 1.0 22 0)
- translateLabel: true
- )
- (SubCanvasSpec
- name: 'TestCaseClassList'
- layout: (LayoutFrame 0 0 22 0 0 1 0 1)
- hasHorizontalScrollBar: false
- hasVerticalScrollBar: false
- majorKey: #'Tools::ClassList'
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: inGeneratorHolder
- aspect: testCaseClassGeneratorHolder
- )
- (SubChannelInfoSpec
- subAspect: selectedClasses
- aspect: selectedTestCaseClasses
- )
- )
- createNewApplication: true
- createNewBuilder: true
- postBuildCallback: postBuildTestCaseClassList:
- )
- )
-
- )
- )
- (LabelSpec
- name: 'Label7'
- layout: (LayoutFrame 0 0.5 0 0.5 0 1 22 0.5)
- translateLabel: true
- )
- (TextEditorSpec
- name: 'TextCaseEditor1'
- layout: (LayoutFrame 0 0.4 22 0.5 0 1 0 1)
- model: testCaseSourceHolder
- hasHorizontalScrollBar: true
- hasVerticalScrollBar: true
- hasKeyboardFocusInitially: false
- )
- (ArbitraryComponentSpec
- name: 'ArbitraryComponent1'
- layout: (LayoutFrame 0 0.4 0 0 0 1 0 0.5)
- hasHorizontalScrollBar: true
- hasVerticalScrollBar: true
- miniScrollerHorizontal: true
- component: DiffTextView
- postBuildCallback: postBuildDiffTextView:
- )
- )
-
- )
- )
- (ViewSpec
- name: 'Box2'
- layout: (LayoutFrame 0 0 -26 1 0 1 0 1)
- level: 1
- component:
- (SpecCollection
- collection: (
- (LabelSpec
- label: 'InfoLabel'
- name: 'Label2'
- layout: (LayoutFrame 0 0 -26 1 -1 1 0 1)
- level: -1
- translateLabel: true
- labelChannel: infoLabelHolder
- adjust: left
- )
- )
-
- )
- )
- )
-
- )
- )
-! !
-
-!TestTester class methodsFor:'menu specs'!
-
-mainMenu
- "This resource specification was automatically generated
- by the MenuEditor of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the MenuEditor may not be able to read the specification."
-
- "
- MenuEditor new openOnClass:TestTester andSelector:#mainMenu
- (Menu new fromLiteralArrayEncoding:(TestTester mainMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(Menu
- (
- (MenuItem
- label: 'File'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- label: 'Exit'
- itemValue: closeRequest
- translateLabel: true
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- label: 'Help'
- translateLabel: true
- startGroup: right
- submenu:
- (Menu
- (
- (MenuItem
- label: 'Documentation'
- itemValue: openDocumentation
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'About this Application...'
- itemValue: openAboutThisApplication
- translateLabel: true
- )
- )
- nil
- nil
- )
- )
- )
- nil
- nil
- )
-!
-
-toolbarMenu
- "This resource specification was automatically generated
- by the MenuEditor of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the MenuEditor may not be able to read the specification."
-
- "
- MenuEditor new openOnClass:TestTester andSelector:#toolbarMenu
- (Menu new fromLiteralArrayEncoding:(TestTester toolbarMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
- #(Menu
- (
- (MenuItem
- label: 'RunCheck'
- itemValue: menuRunCheck
- translateLabel: true
- isButton: true
- labelImage: (ResourceRetriever ToolbarIconLibrary make22x22Icon)
- )
- )
- nil
- nil
- )
-! !
-
-!TestTester methodsFor:'aspects'!
-
-infoLabelHolder
- infoLabelHolder isNil ifTrue:[
- infoLabelHolder := ValueHolder new.
- ].
- ^ infoLabelHolder
-
- "Created: / 25-04-2010 / 21:01:00 / cg"
-!
-
-mutatedMethodSourceHolder
- mutatedMethodSourceHolder isNil ifTrue:[
- mutatedMethodSourceHolder := ValueHolder new.
- ].
- ^ mutatedMethodSourceHolder
-
- "Created: / 25-04-2010 / 15:53:44 / cg"
-!
-
-originalMethodSourceHolder
- originalMethodSourceHolder isNil ifTrue:[
- originalMethodSourceHolder := ValueHolder new.
- ].
- ^ originalMethodSourceHolder
-
- "Created: / 25-04-2010 / 15:53:58 / cg"
-!
-
-selectedTestCaseClasses
- selectedTestCaseClasses isNil ifTrue:[
- selectedTestCaseClasses := ValueHolder new.
- selectedTestCaseClasses onChangeSend:#selectedTestCaseClassesChanged to:self.
- ].
- ^ selectedTestCaseClasses
-
- "Created: / 25-04-2010 / 16:23:56 / cg"
-!
-
-selectedTesteeClasses
- selectedTesteeClasses isNil ifTrue:[
- selectedTesteeClasses := ValueHolder new.
- selectedTesteeClasses onChangeSend:#selectedTesteeClassesChanged to:self.
- ].
- ^ selectedTesteeClasses
-
- "Created: / 25-04-2010 / 14:00:14 / cg"
-!
-
-selectedTesteeMethods
- selectedTesteeMethods isNil ifTrue:[
- selectedTesteeMethods := ValueHolder new.
- selectedTesteeMethods onChangeSend:#selectedTesteeMethodsChanged to:self.
- ].
- ^ selectedTesteeMethods
-
- "Created: / 25-04-2010 / 15:50:10 / cg"
-!
-
-testCaseClassGeneratorHolder
- testCaseClassGeneratorHolder isNil ifTrue:[
- testCaseClassGeneratorHolder := ValueHolder new.
- ].
- ^ testCaseClassGeneratorHolder
-
- "Created: / 25-04-2010 / 16:01:28 / cg"
-!
-
-testCaseSourceHolder
- testCaseSourceHolder isNil ifTrue:[
- testCaseSourceHolder := ValueHolder new.
- ].
- ^ testCaseSourceHolder
-
- "Created: / 25-04-2010 / 15:53:07 / cg"
-!
-
-testeeMethodListHolder
- testeeMethodListHolder isNil ifTrue:[
- testeeMethodListHolder := ValueHolder new.
- ].
- ^ testeeMethodListHolder
-
- "Created: / 25-04-2010 / 14:05:25 / cg"
-! !
-
-!TestTester methodsFor:'initialization'!
-
-postBuildDiffTextView:aView
- diffTextView := aView
-
- "Created: / 26-04-2010 / 10:36:42 / cg"
-!
-
-postBuildTestCaseClassList:aSubCanvas
- |classGenerator|
-
- classGenerator :=
- Iterator
- on:[:whatToDo |
- TestCase allSubclasses
- select:[:cls | cls isAbstract not]
- thenDo:[:cls |
- whatToDo
- value:cls
- ].
- ].
-
- self testCaseClassGeneratorHolder value:classGenerator
-
- "Modified: / 25-04-2010 / 16:04:44 / cg"
-!
-
-postBuildTestCaseMethodList:aSubCanvas
- testCaseMethodListApp := aSubCanvas
-
- "Created: / 25-04-2010 / 13:51:42 / cg"
-!
-
-postBuildTestedClassList:aSubCanvas
- testeeClassListApp := aSubCanvas
-
- "Modified: / 25-04-2010 / 13:50:41 / cg"
-!
-
-postBuildTestedMethodList:aSubCanvas
- testeeMethodListApp := aSubCanvas
-
- "Created: / 25-04-2010 / 13:50:58 / cg"
-!
-
-postBuildWith:aBuilder
- "/ testCaseClassListApp inGeneratorHolder:[ Smalltalk allClasses ]
-
- "Created: / 25-04-2010 / 13:47:59 / cg"
-! !
-
-!TestTester methodsFor:'menu actions'!
-
-menuRunCheck
- selectedTestCaseClass isNil ifTrue:[
- Dialog information:'No TestCase class selected'.
- ^ self.
- ].
-
- (AbortOperationRequest , TestSuiteIncompleteError) handle:[:ex |
- ex signal == TestSuiteIncompleteError ifTrue:[
- self mutatedMethodSourceHolder value:ex parameter.
- ].
- self infoLabelHolder value:ex errorString.
- ] do:[
- self withWaitCursorDo:[
- self infoLabelHolder value:'Running Suite...'.
- self
- testMethod:(selectedTesteeMethod)
- usingTest:selectedTestCaseClass.
- self infoLabelHolder value:nil.
- ].
- self mutatedMethodSourceHolder value:nil.
- ].
- self updateDiffTextView.
-
- "Modified: / 27-04-2010 / 09:46:09 / cg"
-!
-
-openAboutThisApplication
- "This method was generated by the Browser/CodeGeneratorTool.
- It will be invoked when the menu-item 'help-about' is selected."
-
- "/ could open a customized aboutBox here ...
- super openAboutThisApplication
-!
-
-openDocumentation
- "This method was generated by the Browser/CodeGeneratorTool.
- It will be invoked when the menu-item 'help-documentation' is selected."
-
- "/ change below as required ...
-
- "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ):
- self openDocumentationFile:'TOP.html'.
-
- "/ add application-specific help files under the 'doc/online/<language>/help/appName'
- "/ directory, and open a viewer with:
- "/ self openDocumentationFile:'help/<MyApplication>/TOP.html'.
-! !
-
-!TestTester methodsFor:'misc'!
-
-showAllClassesInNameSpaceOrganisation
- ^ true
-
- "Created: / 25-04-2010 / 13:56:24 / cg"
-! !
-
-!TestTester methodsFor:'testing methods'!
-
-testMethod:aMethod using:selector fromTest:aTestCaseClass
- "motivation:
- assuming that aTestCase is a good test for aMethod,
- any change in aMethod should be rewarded by a failing testRun."
-
- ^ self
- testMethod:aMethod
- usingTest:aTestCaseClass
- selectors:(aTestCaseClass testSelectors)
-
- "Modified: / 24-04-2010 / 14:03:57 / cg"
-!
-
-testMethod:aMethod usingSuite:aTestSuite
- |tree newSource methodClass methodSelector|
-
- numberOfTriedMutations := 0.
- maxTestExecutionTime := nil.
-
- methodClass := aMethod mclass.
- methodSelector := aMethod selector.
-
- self mutatedMethodSourceHolder value:nil.
-
- AssertionFailedError handle:[:ex |
- TestSuiteIncompleteError
- raiseWith:aMethod source
- errorString:'Test failed for original'.
- ] do:[
- self infoLabelHolder value:'Running Suite on original code...'.
- self runSuiteExpectingSuccess:aTestSuite.
- ].
- tree := RBParser parseMethod:(aMethod source) onError:[:str :pos | nil ].
- tree isNil ifTrue:[
- self error:'cannot parse method'.
- ].
- tree source:nil.
-
- "/ just to make sure: check if compiled method behaves the same
- newSource := tree formattedCode.
- self withCode:newSource installedAs:methodSelector inClass:methodClass do:[:newMethod |
- AssertionFailedError handle:[:ex |
- TestSuiteIncompleteError
- raiseWith:aMethod source
- errorString:'Test failed for original'.
- ] do:[
- self infoLabelHolder value:'Running Suite on original code again...'.
- self runSuiteExpectingSuccess:aTestSuite.
- ]
- ].
-
- self originalMethodSourceHolder value:newSource.
- self mutatedMethodSourceHolder value:newSource.
- self updateDiffTextView.
-
- "/ start to fiddle with the code; the tests MUST detect each !!
- self mutationsOf:tree do:[:modifiedTree |
- newSource := modifiedTree formattedCode.
- self mutatedMethodSourceHolder value:newSource.
- self updateDiffTextView.
-
- self withCode:newSource installedAs:methodSelector inClass:methodClass do:[:newMethod |
- AssertionFailedError handle:[:ex |
- TestSuiteIncompleteError
- raiseWith:newSource
- errorString:ex errorString.
- ] do:[
- numberOfTriedMutations := numberOfTriedMutations + 1.
- self infoLabelHolder value:('Running Suite on mutation %1...' bindWith:numberOfTriedMutations).
- self runSuiteExpectingFailure:aTestSuite.
- ]
- ].
- ].
-
- "
- self new
- testMethod:(Integer >> #factorial)
- usingTest:RegressionTests::IntegerTest
- selector:#testFactorial
- "
-
- "Created: / 24-04-2010 / 14:06:07 / cg"
- "Modified: / 27-04-2010 / 09:41:14 / cg"
-!
-
-testMethod:aMethod usingTest:aTestCaseClass
- "motivation:
- assuming that aTestCase is a good test for aMethod,
- any change in aMethod should be rewarded by a failing testRun."
-
- ^ self
- testMethod:aMethod
- usingTest:aTestCaseClass
- selectors:(aTestCaseClass testSelectors)
-
- "
- self new
- testMethod:(Integer >> #factorial)
- usingTest:RegressionTests::IntegerTest
- "
-
- "Created: / 25-04-2010 / 16:29:22 / cg"
-!
-
-testMethod:aMethod usingTest:aTestCaseClass selector:selector
- "motivation:
- assuming that aTestCase is a good test for aMethod,
- any change in aMethod should be rewarded by a failing testRun."
-
- ^ self
- testMethod:aMethod
- usingTest:aTestCaseClass
- selectors:(Array with:selector)
-
- "
- self new
- testMethod:(Integer >> #factorial)
- usingTest:RegressionTests::IntegerTest
- selector:#testFactorial
- "
-
- "Created: / 24-04-2010 / 13:59:18 / cg"
-!
-
-testMethod:aMethod usingTest:aTestCaseClass selectors:collectionOfSelectors
- "motivation:
- assuming that aTestCase is a good test for aMethod,
- any change in aMethod should be rewarded by a failing testRun."
-
- |suite|
-
- suite := TestSuite new.
- collectionOfSelectors do:[:selector |
- suite
- addTest: (aTestCaseClass selector: selector).
- ].
- ^ self testMethod:aMethod usingSuite:suite
-
- "
- self new
- testMethod:(Integer >> #factorial)
- usingTest:RegressionTests::IntegerTest
- selector:#testFactorial
- "
-
- "Created: / 24-04-2010 / 14:03:09 / cg"
-! !
-
-!TestTester methodsFor:'testing-helpers'!
-
-mutationsOf:aTree do:aBlock
- (Mutator new) mutationsOf:aTree do:aBlock
- "/ aTree acceptVisitor:(Mutator forBlock:aBlock).
-
- "
- self new
- testMethod:(Integer >> #factorial)
- usingTest:RegressionTests::IntegerTest
- selector:#testFactorial
- "
-
- "Created: / 24-04-2010 / 16:22:51 / cg"
- "Modified: / 24-04-2010 / 18:12:48 / cg"
-!
-
-runSuite:aTestSuite
- |t timedOut result|
-
- timedOut := false.
-
- t := Time millisecondsToRun:[
- maxTestExecutionTime isNil ifTrue:[
- result := aTestSuite run.
- ] ifFalse:[
- [
- result := aTestSuite run.
- ] valueWithWatchDog:[ timedOut := true ] afterMilliseconds:(maxTestExecutionTime * 5).
- ].
- ].
- timedOut ifTrue:[ TimeoutError raiseErrorString:'Timeout - code possibly ran into endless loop ?'].
- maxTestExecutionTime := (maxTestExecutionTime ? t) max:t.
- ^ result
-
- "Created: / 27-04-2010 / 01:37:42 / cg"
- "Modified: / 27-04-2010 / 09:31:56 / cg"
-!
-
-runSuiteExpectingFailure:aTestSuite
- |result|
-
- TimeoutError handle:[:ex |
- Transcript showCR:ex description.
- ^ self
- ] do:[
- result := self runSuite:aTestSuite.
- ].
-
- self
- assert:result runCount > 0;
- "/ assert:(result passedCount = 0) message:'test should not have passed';
- assert:((result failureCount + result errorCount) > 0)
- message:'Some test should have failed'.
-
- "Created: / 24-04-2010 / 16:17:47 / cg"
- "Modified: / 27-04-2010 / 09:46:27 / cg"
-!
-
-runSuiteExpectingSuccess:aTestSuite
- |result|
-
- result := self runSuite:aTestSuite.
- result errorCount > 0 ifTrue:[self halt].
-
- self
- assert:result runCount > 0;
- assert:(result passedCount > 0) message:'All tests should have passed';
- assert:(result failureCount = 0) message:'No test should have failed';
- assert:(result errorCount = 0) message:'No test should have errors'.
-
- "Modified: / 27-04-2010 / 09:46:40 / cg"
-!
-
-withCode:newSource installedAs:selector inClass:aClass do:aBlock
- |oldMethod newMethod|
-
- oldMethod := aClass compiledMethodAt:selector.
- newMethod := Compiler compile:newSource forClass:aClass install:false.
-
- [
- "/ install new method
- aClass basicAddSelector:selector withMethod:newMethod.
- aBlock value:newMethod
- ] ensure:[
- "/ restore original method
- aClass basicAddSelector:selector withMethod:oldMethod.
- ].
-
- "Created: / 24-04-2010 / 16:26:00 / cg"
-! !
-
-!TestTester methodsFor:'user actions'!
-
-selectedTestCaseClassesChanged
- selectedTestCaseClass := selectedTestCaseClasses value firstIfEmpty:nil.
-
- "Created: / 25-04-2010 / 16:25:18 / cg"
-!
-
-selectedTesteeClassesChanged
- |methodGenerator|
-
- methodGenerator :=
- Iterator
- on:[:whatToDo |
- |methodClass|
-
- methodClass := self selectedTesteeClasses value first.
- methodClass methodDictionary
- keysAndValuesDo:[:methodSelector :method |
- whatToDo
- value:methodClass
- value:method category
- value:methodSelector
- value:method.
- ].
- ].
-
- self testeeMethodListHolder value:methodGenerator
-
- "Modified: / 25-04-2010 / 15:48:04 / cg"
-!
-
-selectedTesteeMethodsChanged
- |methods method source|
-
- methods := self selectedTesteeMethods value.
- methods notEmpty ifTrue:[
- method := methods first.
- source := method source.
- ].
- selectedTesteeMethod ~~ method ifTrue:[
- (self originalMethodSourceHolder value) ~= source ifTrue:[
- selectedTesteeMethod := method.
-"/ self halt.
- self originalMethodSourceHolder value:source.
- self mutatedMethodSourceHolder value:nil.
-
- self updateDiffTextView.
- ].
- ].
-
- "Created: / 25-04-2010 / 15:51:03 / cg"
- "Modified: / 27-04-2010 / 09:54:19 / cg"
-!
-
-updateDiffTextView
- diffTextView
- text1:(self originalMethodSourceHolder value ? '')
- text2:(self mutatedMethodSourceHolder value ? '').
- self windowGroup repairDamage.
-
- "Created: / 26-04-2010 / 10:38:39 / cg"
- "Modified: / 26-04-2010 / 12:19:26 / cg"
-! !
-
-!TestTester::Mutator class methodsFor:'instance creation'!
-
-forBlock:aBlock
- ^ self new blockToCall:aBlock
-
- "Created: / 24-04-2010 / 16:55:24 / cg"
-! !
-
-!TestTester::Mutator methodsFor:'accessing'!
-
-blockToCall:something
- blockToCall := something.
-! !
-
-!TestTester::Mutator methodsFor:'mutating'!
-
-mutationsOf:aTree do:aBlock
- blockToCall := aBlock.
- treeTop := aTree.
- aTree acceptVisitor:self.
-
- "Created: / 24-04-2010 / 17:12:19 / cg"
- "Modified: / 24-04-2010 / 19:02:24 / cg"
-! !
-
-!TestTester::Mutator methodsFor:'visiting'!
-
-acceptAssignmentNode:anAssignmentNode
- |oldExpr|
-
- oldExpr := anAssignmentNode value.
- [
- (self class new) mutationsOf:oldExpr do:[:newExpr |
- anAssignmentNode value:newExpr.
- blockToCall value:treeTop.
- ].
- ] ensure:[
- anAssignmentNode value:oldExpr
- ].
-
- "Created: / 27-04-2010 / 00:32:14 / cg"
-!
-
-acceptBlockNode:aBlockNode
- self acceptMethodOrBlockNode:aBlockNode
-
- "Modified: / 24-04-2010 / 19:06:49 / cg"
-!
-
-acceptLiteralNode:aLiteralNode
- |oldValue|
-
- oldValue := aLiteralNode value.
- oldValue isInteger ifTrue:[
- [
- Transcript showCR:('Replacing value %1 with: %2' bindWith:oldValue with:oldValue+1).
- aLiteralNode token value:oldValue + 1.
- blockToCall value:treeTop.
- Transcript showCR:('Replacing value %1 with: %2' bindWith:oldValue with:oldValue-1).
- aLiteralNode token value:oldValue - 1.
- blockToCall value:treeTop.
- ((oldValue ~= 1) and:[oldValue ~= -1 and:[oldValue ~= 0]]) ifTrue:[
- Transcript showCR:('Replacing value %1 with: %2' bindWith:oldValue with:0).
- aLiteralNode token value:0.
- blockToCall value:treeTop.
- ].
- ] ensure:[
- aLiteralNode token value:oldValue.
- ].
- ^ self.
- ].
- oldValue isFloat ifTrue:[
- self halt.
- ^ self.
- ].
- oldValue isSymbol ifTrue:[
- ^ self.
- ].
- oldValue isString ifTrue:[
- ^ self.
- ].
- oldValue isArray ifTrue:[
- ^ self.
- ].
- oldValue isByteArray ifTrue:[
- self halt.
- ^ self.
- ].
-self halt.
-
- "Created: / 25-04-2010 / 21:32:12 / cg"
- "Modified: / 27-04-2010 / 09:45:18 / cg"
-!
-
-acceptMessageNode:aMessageNode
- |selector arguments|
-
- selector := aMessageNode selector.
-
- ( #( ifTrue: ifFalse: ifTrue:ifFalse: ifFalse:ifTrue:) includes:selector) ifTrue:[
- self tryWithNegatedCondition:aMessageNode.
- ].
-
- arguments := aMessageNode arguments.
- 1 to:arguments size do:[:idx |
- |oldArg|
-
- oldArg := arguments at:idx.
- [
- (self class new) mutationsOf:oldArg do:[:newArg |
- arguments at:idx put:newArg.
- blockToCall value:treeTop.
- ].
- ] ensure:[
- arguments at:idx put:oldArg
- ].
- ].
-
- "Modified: / 24-04-2010 / 19:07:22 / cg"
-!
-
-acceptMethodNode:aMethodNode
- self acceptMethodOrBlockNode:aMethodNode
-
- "Modified: / 24-04-2010 / 19:06:44 / cg"
-!
-
-acceptMethodOrBlockNode:aMethodOrBlockNode
- |oldBody|
-
- oldBody := aMethodOrBlockNode body.
- oldBody notNil ifTrue:[
- [
- (self class new) mutationsOf:oldBody do:[:newBody |
- aMethodOrBlockNode body:newBody.
- blockToCall value:treeTop.
- ].
- ] ensure:[
- aMethodOrBlockNode body:oldBody
- ].
- ].
-
- "Created: / 24-04-2010 / 19:06:33 / cg"
-!
-
-acceptReturnNode:aReturnNode
- |oldExpr|
-
- oldExpr := aReturnNode value.
- [
- (self class new) mutationsOf:oldExpr do:[:newExpr |
- aReturnNode value:newExpr.
- blockToCall value:treeTop.
- ].
- ] ensure:[
- aReturnNode value:oldExpr
- ].
-
- "Modified: / 25-04-2010 / 21:30:13 / cg"
-!
-
-acceptSequenceNode:aSequenceNode
- |statements|
-
- statements := aSequenceNode statements.
-
- 1 to:statements size do:[:idx |
- |oldStat|
-
- oldStat := statements at:idx.
- [
- (self class new) mutationsOf:oldStat do:[:newStat |
- statements at:idx put:newStat.
- blockToCall value:treeTop.
- ].
- ] ensure:[
- statements at:idx put:oldStat
- ].
- ].
-"/ |oldBody|
-"/
-"/ oldBody := aMethodNode body.
-"/ oldBody notNil ifTrue:[
-"/ [
-"/ (self class new) mutationsOf:oldBody do:[:newBody |
-"/self halt.
-"/ ].
-"/ ] ensure:[
-"/ aMethodNode body:oldBody
-"/ ].
-"/ ].
-"/
-"/ "Created: / 24-04-2010 / 16:56:12 / cg"
-"/
-
- "Created: / 24-04-2010 / 18:23:35 / cg"
-!
-
-acceptVariableNode:aVariableNode
-
- "Created: / 25-04-2010 / 21:35:26 / cg"
-!
-
-tryWithNegatedCondition:aMessageNode
- |sel repl|
-
- sel := aMessageNode selector.
- repl := (Dictionary new
- at: #ifTrue: put: #ifFalse: ;
- at: #ifFalse: put: #ifTrue: ;
- at: #ifTrue:ifFalse: put: #ifFalse:ifTrue: ;
- at: #ifFalse:ifTrue: put: #ifTrue:ifFalse: ;
- yourself)
- at:sel.
-
- [
- aMessageNode selector:repl.
- blockToCall value:treeTop.
- ] ensure:[
- aMessageNode selector:sel.
- ].
-
- "Modified: / 24-04-2010 / 19:03:44 / cg"
-! !
-
-!TestTester class methodsFor:'documentation'!
-
-version_CVS
- ^ '$Header: /cvs/stx/stx/goodies/sunit/TestTester.st,v 1.4 2010-04-27 08:48:09 cg Exp $'
-! !
--- a/abbrev.stc Wed Aug 31 17:38:43 2016 +0100
+++ b/abbrev.stc Sat Sep 03 09:08:25 2016 +0100
@@ -7,12 +7,9 @@
TestAsserter TestAsserter stx:goodies/sunit 'SUnit-Base' 0
TestFailure TestFailure stx:goodies/sunit 'SUnit-Preload' 1
TestResult TestResult stx:goodies/sunit 'SUnit-Base' 0
-TestResultReporter TestResultReporter stx:goodies/sunit 'SUnit-Report' 0
+TestResultReporter TestResultReporter stx:goodies/sunit 'SUnit-Smalltalk/X-Report' 0
TestRunner TestRunner stx:goodies/sunit 'SUnit-UI' 1
TestSuite TestSuite stx:goodies/sunit 'SUnit-Base' 0
-TestSuitesCompoundScriptTest TestSuitesCompoundScriptTest stx:goodies/sunit 'SUnit-Tests' 1
-TestSuitesHierarchyScriptTest TestSuitesHierarchyScriptTest stx:goodies/sunit 'SUnit-Tests' 1
-TestSuitesScriptTest TestSuitesScriptTest stx:goodies/sunit 'SUnit-Tests' 1
TestSuitesScripter TestSuitesScripter stx:goodies/sunit 'SUnit-Base' 0
stx_goodies_sunit stx_goodies_sunit stx:goodies/sunit '* Projects & Packages *' 3
ResumableTestFailure ResumableTestFailure stx:goodies/sunit 'SUnit-Preload' 1
@@ -34,10 +31,13 @@
SimpleTestResourceCircular SimpleTestResourceCircular stx:goodies/sunit 'SUnit-Tests' 2
SimpleTestResourceCircular1 SimpleTestResourceCircular1 stx:goodies/sunit 'SUnit-Tests' 2
CircularTestResourceTestCase CircularTestResourceTestCase stx:goodies/sunit 'SUnit-Tests' 1
+TestSuitesHierarchyScriptTest TestSuitesHierarchyScriptTest stx:goodies/sunit 'SUnit-Tests' 1
+TestSuitesCompoundScriptTest TestSuitesCompoundScriptTest stx:goodies/sunit 'SUnit-Tests' 1
+TestSuitesScriptTest TestSuitesScriptTest stx:goodies/sunit 'SUnit-Tests' 1
TestCaseOutcome TestCaseOutcome stx:goodies/sunit 'SUnit-Base' 0
TestResultStX TestResultStX stx:goodies/sunit 'SUnit-Smalltalk/X' 0
TestResultForRunWithDebug TestResultForRunWithDebug stx:goodies/sunit 'SUnit-Smalltalk/X' 0
SUnitTests2 SUnitTests2 stx:goodies/sunit 'SUnit-Smalltalk/X-Tests' 1
-TestCoverageReporter TestCoverageReporter stx:goodies/sunit 'SUnit-Report' 0
-MetricsReporter MetricsReporter stx:goodies/sunit 'SUnit-Report' 0
+TestCoverageReporter TestCoverageReporter stx:goodies/sunit 'SUnit-Smalltalk/X-Report' 0
+MetricsReporter MetricsReporter stx:goodies/sunit 'SUnit-Smalltalk/X-Report' 0
TestSkipped TestSkipped stx:goodies/sunit 'SUnit-Preload' 1
--- a/bc.mak Wed Aug 31 17:38:43 2016 +0100
+++ b/bc.mak Sat Sep 03 09:08:25 2016 +0100
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/goodies/sunit/bc.mak,v 1.25 2013-04-03 13:27:06 cg Exp $
+# $Header$
#
# DO NOT EDIT
# automagically generated from the projectDefinition: stx_goodies_sunit.
@@ -30,11 +30,12 @@
!INCLUDE Make.spec
LIBNAME=libstx_goodies_sunit
-RESFILES=sunit.$(RES)
+MODULE_PATH=goodies\sunit
+RESFILES=stx_goodies_sunitWINrc.$(RES)
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libview2
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -53,7 +54,6 @@
pushd ..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
@@ -61,29 +61,45 @@
+
+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)
+ -del *.$(CSUFFIX)
+
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)MetricsReporter.$(O) MetricsReporter.$(H): MetricsReporter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)SUnitDelay.$(O) SUnitDelay.$(H): SUnitDelay.st $(INCLUDE_TOP)\stx\libbasic\Delay.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)SUnitNameResolver.$(O) SUnitNameResolver.$(H): SUnitNameResolver.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestAsserter.$(O) TestAsserter.$(H): TestAsserter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestCaseOutcome.$(O) TestCaseOutcome.$(H): TestCaseOutcome.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestCoverageReporter.$(O) TestCoverageReporter.$(H): TestCoverageReporter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestFailure.$(O) TestFailure.$(H): TestFailure.st $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestResult.$(O) TestResult.$(H): TestResult.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestResultReporter.$(O) TestResultReporter.$(H): TestResultReporter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestRunner.$(O) TestRunner.$(H): TestRunner.st $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestSuite.$(O) TestSuite.$(H): TestSuite.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestSuitesScripter.$(O) TestSuitesScripter.$(H): TestSuitesScripter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)stx_goodies_sunit.$(O) stx_goodies_sunit.$(H): stx_goodies_sunit.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)ResumableTestFailure.$(O) ResumableTestFailure.$(H): ResumableTestFailure.st $(INCLUDE_TOP)\stx\goodies\sunit\TestFailure.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestCase.$(O) TestCase.$(H): TestCase.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestResource.$(O) TestResource.$(H): TestResource.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestResultStX.$(O) TestResultStX.$(H): TestResultStX.st $(INCLUDE_TOP)\stx\goodies\sunit\TestResult.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestSkipped.$(O) TestSkipped.$(H): TestSkipped.st $(INCLUDE_TOP)\stx\goodies\sunit\TestFailure.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)TestResultForRunWithDebug.$(O) TestResultForRunWithDebug.$(H): TestResultForRunWithDebug.st $(INCLUDE_TOP)\stx\goodies\sunit\TestResultStX.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestResult.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Block.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Symbol.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(STCHDR)
+$(OUTDIR)MetricsReporter.$(O) MetricsReporter.$(C) MetricsReporter.$(H): MetricsReporter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)SUnitDelay.$(O) SUnitDelay.$(C) SUnitDelay.$(H): SUnitDelay.st $(INCLUDE_TOP)\stx\libbasic\Delay.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)SUnitNameResolver.$(O) SUnitNameResolver.$(C) SUnitNameResolver.$(H): SUnitNameResolver.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestAsserter.$(O) TestAsserter.$(C) TestAsserter.$(H): TestAsserter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestCaseOutcome.$(O) TestCaseOutcome.$(C) TestCaseOutcome.$(H): TestCaseOutcome.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestCoverageReporter.$(O) TestCoverageReporter.$(C) TestCoverageReporter.$(H): TestCoverageReporter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestFailure.$(O) TestFailure.$(C) TestFailure.$(H): TestFailure.st $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestResult.$(O) TestResult.$(C) TestResult.$(H): TestResult.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestResultReporter.$(O) TestResultReporter.$(C) TestResultReporter.$(H): TestResultReporter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestRunner.$(O) TestRunner.$(C) TestRunner.$(H): TestRunner.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)TestSuite.$(O) TestSuite.$(C) TestSuite.$(H): TestSuite.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestSuitesScripter.$(O) TestSuitesScripter.$(C) TestSuitesScripter.$(H): TestSuitesScripter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)stx_goodies_sunit.$(O) stx_goodies_sunit.$(C) stx_goodies_sunit.$(H): stx_goodies_sunit.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)ResumableTestFailure.$(O) ResumableTestFailure.$(C) ResumableTestFailure.$(H): ResumableTestFailure.st $(INCLUDE_TOP)\stx\goodies\sunit\TestFailure.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestCase.$(O) TestCase.$(C) TestCase.$(H): TestCase.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestResource.$(O) TestResource.$(C) TestResource.$(H): TestResource.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestResultStX.$(O) TestResultStX.$(C) TestResultStX.$(H): TestResultStX.st $(INCLUDE_TOP)\stx\goodies\sunit\TestResult.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestSkipped.$(O) TestSkipped.$(C) TestSkipped.$(H): TestSkipped.st $(INCLUDE_TOP)\stx\goodies\sunit\TestFailure.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestCaseWithArguments.$(O) TestCaseWithArguments.$(C) TestCaseWithArguments.$(H): TestCaseWithArguments.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)TestResultForRunWithDebug.$(O) TestResultForRunWithDebug.$(C) TestResultForRunWithDebug.$(H): TestResultForRunWithDebug.st $(INCLUDE_TOP)\stx\goodies\sunit\TestResult.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestResultStX.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Block.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\Symbol.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(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_sunit.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/bmake.bat Wed Aug 31 17:38:43 2016 +0100
+++ b/bmake.bat Sat Sep 03 09:08:25 2016 +0100
@@ -3,6 +3,13 @@
@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% %*
+
+
--- a/extensions.st Wed Aug 31 17:38:43 2016 +0100
+++ b/extensions.st Sat Sep 03 09:08:25 2016 +0100
@@ -127,7 +127,7 @@
!stx_goodies_sunit class methodsFor:'documentation'!
-extensionsVersion_CVS
- ^ '$Header: /cvs/stx/stx/goodies/sunit/extensions.st,v 1.17 2014-07-09 16:22:02 cg Exp $'
+extensionsVersion_HG
+
+ ^ '$Changeset: <not expanded> $'
! !
-
--- a/libInit.cc Wed Aug 31 17:38:43 2016 +0100
+++ b/libInit.cc Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,5 @@
/*
- * $Header: /cvs/stx/stx/goodies/sunit/libInit.cc,v 1.24 2014-03-23 21:08:48 cg Exp $
+ * $Header$
*
* DO NOT EDIT
* automagically generated from the projectDefinition: stx_goodies_sunit.
@@ -16,38 +16,61 @@
DLL_EXPORT void _libstx_goodies_sunit_InitDefinition() INIT_TEXT_SECTION;
#endif
-void _libstx_goodies_sunit_InitDefinition(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libstx_goodies_sunit__DFN", _libstx_goodies_sunit_InitDefinition, "stx:goodies/sunit");
-_stx_137goodies_137sunit_Init(pass,__pRT__,snd);
+extern void _MetricsReporter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _SUnitDelay_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _SUnitNameResolver_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestAsserter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestCaseOutcome_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestCoverageReporter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestFailure_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestResult_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestResultReporter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestRunner_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestSuite_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestSuitesScripter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _stx_137goodies_137sunit_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _ResumableTestFailure_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestCase_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestResource_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestResultStX_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestSkipped_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestCaseWithArguments_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _TestResultForRunWithDebug_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
-__END_PACKAGE__();
+extern void _stx_137goodies_137sunit_extensions_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+
+void _libstx_goodies_sunit_InitDefinition(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+ __BEGIN_PACKAGE2__("libstx_goodies_sunit__DFN", _libstx_goodies_sunit_InitDefinition, "stx:goodies/sunit");
+ _stx_137goodies_137sunit_Init(pass,__pRT__,snd);
+
+ __END_PACKAGE__();
}
-void _libstx_goodies_sunit_Init(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libstx_goodies_sunit", _libstx_goodies_sunit_Init, "stx:goodies/sunit");
-_MetricsReporter_Init(pass,__pRT__,snd);
-_SUnitDelay_Init(pass,__pRT__,snd);
-_SUnitNameResolver_Init(pass,__pRT__,snd);
-_TestAsserter_Init(pass,__pRT__,snd);
-_TestCaseOutcome_Init(pass,__pRT__,snd);
-_TestCoverageReporter_Init(pass,__pRT__,snd);
-_TestFailure_Init(pass,__pRT__,snd);
-_TestResult_Init(pass,__pRT__,snd);
-_TestResultReporter_Init(pass,__pRT__,snd);
-_TestRunner_Init(pass,__pRT__,snd);
-_TestSuite_Init(pass,__pRT__,snd);
-_TestSuitesScripter_Init(pass,__pRT__,snd);
-_stx_137goodies_137sunit_Init(pass,__pRT__,snd);
-_ResumableTestFailure_Init(pass,__pRT__,snd);
-_TestCase_Init(pass,__pRT__,snd);
-_TestCaseWithArguments_Init(pass,__pRT__,snd);
-_TestResource_Init(pass,__pRT__,snd);
-_TestResultStX_Init(pass,__pRT__,snd);
-_TestSkipped_Init(pass,__pRT__,snd);
-_TestResultForRunWithDebug_Init(pass,__pRT__,snd);
+void _libstx_goodies_sunit_Init(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+ __BEGIN_PACKAGE2__("libstx_goodies_sunit", _libstx_goodies_sunit_Init, "stx:goodies/sunit");
+ _MetricsReporter_Init(pass,__pRT__,snd);
+ _SUnitDelay_Init(pass,__pRT__,snd);
+ _SUnitNameResolver_Init(pass,__pRT__,snd);
+ _TestAsserter_Init(pass,__pRT__,snd);
+ _TestCaseOutcome_Init(pass,__pRT__,snd);
+ _TestCoverageReporter_Init(pass,__pRT__,snd);
+ _TestFailure_Init(pass,__pRT__,snd);
+ _TestResult_Init(pass,__pRT__,snd);
+ _TestResultReporter_Init(pass,__pRT__,snd);
+ _TestRunner_Init(pass,__pRT__,snd);
+ _TestSuite_Init(pass,__pRT__,snd);
+ _TestSuitesScripter_Init(pass,__pRT__,snd);
+ _stx_137goodies_137sunit_Init(pass,__pRT__,snd);
+ _ResumableTestFailure_Init(pass,__pRT__,snd);
+ _TestCase_Init(pass,__pRT__,snd);
+ _TestResource_Init(pass,__pRT__,snd);
+ _TestResultStX_Init(pass,__pRT__,snd);
+ _TestSkipped_Init(pass,__pRT__,snd);
+ _TestCaseWithArguments_Init(pass,__pRT__,snd);
+ _TestResultForRunWithDebug_Init(pass,__pRT__,snd);
-_stx_137goodies_137sunit_extensions_Init(pass,__pRT__,snd);
-__END_PACKAGE__();
+ _stx_137goodies_137sunit_extensions_Init(pass,__pRT__,snd);
+ __END_PACKAGE__();
}
--- a/mingwmake.bat Wed Aug 31 17:38:43 2016 +0100
+++ b/mingwmake.bat Sat Sep 03 09:08:25 2016 +0100
@@ -3,10 +3,16 @@
@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% %*
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
+
+
--- a/stx_goodies_sunit.st Wed Aug 31 17:38:43 2016 +0100
+++ b/stx_goodies_sunit.st Sat Sep 03 09:08:25 2016 +0100
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
"{ Package: 'stx:goodies/sunit' }"
"{ NameSpace: Smalltalk }"
@@ -84,9 +82,6 @@
TestResultReporter
TestRunner
TestSuite
- (TestSuitesCompoundScriptTest autoload)
- (TestSuitesHierarchyScriptTest autoload)
- (TestSuitesScriptTest autoload)
TestSuitesScripter
#'stx_goodies_sunit'
ResumableTestFailure
@@ -108,6 +103,9 @@
(SimpleTestResourceCircular autoload)
(SimpleTestResourceCircular1 autoload)
(CircularTestResourceTestCase autoload)
+ (TestSuitesHierarchyScriptTest autoload)
+ (TestSuitesCompoundScriptTest autoload)
+ (TestSuitesScriptTest autoload)
TestCaseOutcome
TestResultStX
TestResultForRunWithDebug
@@ -116,6 +114,8 @@
MetricsReporter
TestSkipped
)
+
+ "Modified: / 03-09-2016 / 09:05:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
extensionMethodNames
@@ -187,6 +187,10 @@
^ '$Header$'
!
+version_HG
+ ^ '$Changeset: <not expanded> $'
+!
+
version_SVN
^ '$Id$'
! !
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/stx_goodies_sunitWINrc.rc Sat Sep 03 09:08:25 2016 +0100
@@ -0,0 +1,37 @@
+//
+// DO NOT EDIT
+// automagically generated from the projectDefinition: stx_goodies_sunit.
+//
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 6,2,32767,32767
+ PRODUCTVERSION 6,2,6,0
+#if (__BORLANDC__)
+ FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE
+ FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
+ FILEOS VOS_NT_WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VS_USER_DEFINED
+#endif
+
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "eXept Software AG\0"
+ VALUE "FileDescription", "Smalltalk/X Unit Testing (LIB)\0"
+ VALUE "FileVersion", "6.2.32767.32767\0"
+ VALUE "InternalName", "stx:goodies/sunit\0"
+ VALUE "LegalCopyright", "Copyright eXept Software AG 2007\0"
+ VALUE "ProductName", "Smalltalk/X\0"
+ VALUE "ProductVersion", "6.2.6.0\0"
+ VALUE "ProductDate", "Sat, 03 Sep 2016 08:05:50 GMT\0"
+ END
+
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN // Language | Translation
+ VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
+ END
+END
--- a/vcmake.bat Wed Aug 31 17:38:43 2016 +0100
+++ b/vcmake.bat Sat Sep 03 09:08:25 2016 +0100
@@ -9,6 +9,14 @@
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% %*
+
+
+
+