--- a/Make.spec Fri Dec 16 16:13:02 2005 +0100
+++ b/Make.spec Wed Dec 21 23:40:43 2005 +0100
@@ -6,6 +6,9 @@
PACKAGE=$(MODULE):$(MODULE_DIR)
OBJS= \
+ QuickTest.$(O)
+
+xOBJS= \
RegressionTests__BlockTest.$(O) \
RegressionTests__ClassWithoutVersionMethod.$(O) \
RegressionTests__CollectionTests.$(O) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bc.def Wed Dec 21 23:40:43 2005 +0100
@@ -0,0 +1,7 @@
+LIBRARY regression
+DESCRIPTION 'regression tests'
+CODE PRELOAD MOVEABLE DISCARDABLE
+SEGMENTS
+ INITCODE PRELOAD DISCARDABLE
+EXPORTS
+ __regression_Init @1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bmake.bat Wed Dec 21 23:40:43 2005 +0100
@@ -0,0 +1,2 @@
+if not exist object\nul mkdir objbc
+make.exe -N -f nt.mak %1 %2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/libInit.cc Wed Dec 21 23:40:43 2005 +0100
@@ -0,0 +1,26 @@
+/*
+ * DO NOT EDIT
+ * automagically generated from Make.proto (by make libInit.cc)
+ */
+#define __INDIRECTVMINITCALLS__
+#include <stc.h>
+#define INIT_TEXT_SECT /* as nothing */
+#ifdef WIN32
+# pragma codeseg INITCODE "INITCODE"
+#else /* not WIN32 */
+# if defined(__GNUC__) && !defined(NO_SECTION_ATTRIBUTES)
+# if (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || __GNUC__ > 2
+# undef INIT_TEXT_SECT
+# define INIT_TEXT_SECT __attribute__((section(".stxitext")))
+# endif
+# endif /* not GNUC */
+#endif /* not WIN32 */
+#ifdef INIT_TEXT_SECT
+extern void _regression_Init() INIT_TEXT_SECT;
+#endif
+void _regression_Init(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("regression", _regression_Init, "exept:regression");
+_RegressionTests__QuickTest_Init(pass,__pRT__,snd);
+__END_PACKAGE__();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nt.mak Wed Dec 21 23:40:43 2005 +0100
@@ -0,0 +1,114 @@
+# $Header$
+#
+# -- nt.mak created from project at 'From Smalltalk/X, Version:3.5.5 on 8-nov-1999 at 21:44:36'
+#
+# Warning: YOU SHOULD NOT MODIFY THIS FILE - MODIFY THE .prj FILE INSTEAD
+# and let the ProjectBrowser recreate this file.
+# once you modify this file, do not recreate nt.mak again
+# - otherwise, your changes are lost.
+
+# default installation directory:
+# (overwrite with 'make INSTALLTOP_DIR=... install')
+# the INSTALLBASE is imported from configurations... and usually
+# defaults to something like /opt/smalltalk.
+# (overwrite with 'make INSTALLBASE=... install')
+INSTALLTOP_DIR=$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR)
+INSTALLLIB_DIR=$(INSTALLTOP_DIR)
+INSTALLBIN_DIR=$(INSTALLTOP_DIR)
+
+#
+# position (of this package) in directory hierarchy:
+# (must point to ST/X top directory, for tools and includes)
+TOP=..\..\stx
+
+#
+!INCLUDE Make.spec
+#
+!INCLUDE "$(TOP)\rules\stdHeader_nt"
+
+# subdirectories where targets are to be made:
+SUBDIRS=
+
+# subdirectories where Makefiles are to be made:
+# (only define if different from SUBDIRS)
+# ALLSUBDIRS=
+
+# the next define suppresses installation of
+# the classes as autoloaded (i.e. not added to abbrev.stc).
+SUPPRESS_LOCAL_ABBREVS=1
+
+# Argument(s) to the stc compiler.
+# -H. : create header files locally
+# (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
+# -Ixxx : include path passed to CC for inline C-code
+# +optspace : optimized for space
+# +optspace2 : optimized more for space
+# +optspace3 : optimized even more for space
+# +optinline : generate inline code for some ST constructs
+# +inlineNew : additionally inline new
+# +inlineMath : additionally inline some floatPnt math stuff
+#
+# ********** OPTIONAL: MODIFY the next line(s) ***
+# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
+# STCLOCALOPTIMIZATIONS=+optspace3
+STCLOCALOPTIMIZATIONS=+optspace3
+
+# Argument(s) to the stc compiler.
+# -warn : no warnings
+# -warnNonStandard : no warnings about ST/X extensions
+# -warnEOLComments : no warnings about EOL comment extension
+# -warnPrivacy : no warnings about privateClass extension
+#
+# ********** OPTIONAL: MODIFY the next line(s) ***
+# STCWARNINGS=-warn
+# STCWARNINGS=-warnNonStandard
+# STCWARNINGS=-warnEOLComments
+STCWARNINGS=-warnEOLComments
+
+# if your embedded C code requires any system includes,
+# add the path(es) here:,
+# ********** OPTIONAL: MODIFY the next lines ***
+# LOCALINCLUDES=-Ifoo -Ibar
+LOCALINCLUDES=-I. -I$(TOP)\goodies\sunit
+
+# if you need any additional defines for embedded C code,
+# add them here:,
+# ********** OPTIONAL: MODIFY the next lines ***
+# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
+LOCALDEFINES=
+
+STCLOCALOPT=-I. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALINCLUDES) $(LOCALDEFINES) -H. -package=$(PACKAGE) -varPrefix=$(LIBNAME) $(COMMONSYMFLAG) $(INITCODESEPFLAG)
+
+# ********** OPTIONAL: MODIFY the next line ***
+# additional C-libraries that should be pre-linked with the class-objects
+LD_OBJ_LIBS=
+
+# ********** OPTIONAL: MODIFY the next line ***
+# additional C targets or libraries should be added below
+LOCAL_EXTRA_TARGETS=
+
+#ALL:: preMake $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll postMake
+ALL:: $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll
+
+
+# add more preMake actions here
+preMake:
+
+# add more postMake actions here
+postMake: cleanjunk
+
+#clean::
+# -del $(OUTDIR)*.obj
+# -del *.sc
+
+#clobber::
+# -del $(OUTDIR)*.obj
+# -del *.sc
+# -del *.dll
+# -del *.lib
+
+
+!INCLUDE $(TOP)\rules\stdRules_nt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/obsolete/RegressionTests__QuickTest.st Wed Dec 21 23:40:43 2005 +0100
@@ -0,0 +1,194 @@
+'From Smalltalk/X, Version:5.2.7 on 08-12-2005 at 10:32:23' !
+
+"{ Package: 'exept:regression' }"
+
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#QuickTest
+ instanceVariableNames:'a b'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression'
+!
+
+!QuickTest methodsFor:'accessing'!
+
+a
+ ^ a
+!
+
+a:something
+ a := something.
+!
+
+b
+ ^ b
+!
+
+b:something
+ b := something.
+! !
+
+!QuickTest methodsFor:'comparing'!
+
+testNE
+ a = b ifTrue:[^ false].
+ ^ true.
+!
+
+testNE0_fltArg
+ a = 0.0 ifTrue:[^ false].
+ ^ true.
+!
+
+testNE0_fltRec
+ 0.0 = a ifTrue:[^ false].
+ ^ true.
+!
+
+testNE0_intArg
+ a = 0 ifTrue:[^ false].
+ ^ true.
+!
+
+testNE0_intRec
+ 0 = a ifTrue:[^ false].
+ ^ true.
+! !
+
+!QuickTest methodsFor:'tests'!
+
+ioRef
+ ^ self
+!
+
+r3Name:arg
+ self assert:(arg = 'foo')
+!
+
+r3PinName
+ ^ self
+!
+
+refBlockName
+ ^ 'foo'
+!
+
+test_eqNumberBug
+ "reported 09-09-2004;
+ stc generated wrong code for some inlined = - compare (shame)."
+
+ self assert: (
+ (self
+ a:0;
+ b:0) testNE ) == false.
+
+ self assert: (
+ (self
+ a:0;
+ b:0.0) testNE ) == false.
+
+ self assert: (
+ (self
+ a:0.0;
+ b:0) testNE ) == false.
+
+ self assert: (
+ (self
+ a:0.0;
+ b:0.0) testNE ) == false.
+
+
+ self assert: (
+ (self
+ a:0.0) testNE0_intArg ) == false.
+ self assert: (
+ (self
+ a:0.0) testNE0_fltArg ) == false.
+
+ self assert: (
+ (self
+ a:0.0) testNE0_intRec ) == false.
+ self assert: (
+ (self
+ a:0.0) testNE0_fltRec ) == false.
+
+ self assert: (
+ (self
+ a:0) testNE0_intArg ) == false.
+ self assert: (
+ (self
+ a:0) testNE0_fltArg ) == false.
+
+ self assert: (
+ (self
+ a:0) testNE0_intRec ) == false.
+ self assert: (
+ (self
+ a:0) testNE0_fltRec ) == false.
+
+ self assert: (
+ (self
+ a:1) testNE0_intArg ) == true.
+ self assert: (
+ (self
+ a:1) testNE0_fltArg ) == true.
+
+ self assert: (
+ (self
+ a:1) testNE0_intRec ) == true.
+ self assert: (
+ (self
+ a:1) testNE0_fltRec ) == true.
+
+ self assert: (
+ (self
+ a:1.0) testNE0_intArg ) == true.
+ self assert: (
+ (self
+ a:1.0) testNE0_fltArg ) == true.
+
+ self assert: (
+ (self
+ a:1.0) testNE0_intRec ) == true.
+ self assert: (
+ (self
+ a:1.0) testNE0_fltRec ) == true.
+
+ "
+ self new test_eqNumberBug
+ "
+!
+
+test_isNilBug
+ 1000 timesRepeat:[
+ 10 timesRepeat:[
+ [
+ self test_isNilBugForker
+ ] fork.
+ ].
+ Delay waitForSeconds:0.5.
+ ]
+
+ "
+ self new test_isNilBug
+ "
+!
+
+test_isNilBugForker
+ |bn blk order model pin|
+
+ order := Array with:self with:self with:self.
+ model := self.
+
+ [
+ order do:[:aPin |
+ (aPin ioRef notNil and:[(bn := aPin ioRef refBlockName) notNil]) ifTrue:[
+ blk := model r3Name:bn.
+ pin := aPin ioRef r3PinName.
+ Processor yield.
+ ].
+ ].
+ ] forkAt:6.
+! !
+