Fix in SnapshotRestartTests to use proper toolchain when building on Windows jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 27 Apr 2016 09:37:25 +0100
branchjv
changeset 1489 2f9591a475f2
parent 1488 a5729e545cc5
child 1490 67b5afb7f5ce
Fix in SnapshotRestartTests to use proper toolchain when building on Windows ...e.g., MINGW/MINGW64
RegressionTests__SnapshotRestartTests.st
--- a/RegressionTests__SnapshotRestartTests.st	Tue Apr 26 22:59:30 2016 +0100
+++ b/RegressionTests__SnapshotRestartTests.st	Wed Apr 27 09:37:25 2016 +0100
@@ -36,7 +36,7 @@
     "
     logfile contents asString
     "
-    self assert: false description: ('Not all inner tests passed. Check log in ' , logfile asAbsoluteFilename pathName).
+    self assert: false description: ('Not all inner tests passed: ' , logfile asAbsoluteFilename contents asString).
 
     "Created: / 14-08-2013 / 20:06:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 13-09-2013 / 12:06:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -54,14 +54,39 @@
 make: target
     | cmd |
 
-    cmd := OperatingSystem isMSWINDOWSlike 
-            ifTrue:['bmake.bat ', target]
-            ifFalse:['make -f Makefile.init ', target].
+    OperatingSystem isMSWINDOWSlike ifTrue:[ 
+        OperatingSystem getCCDefine = '__BORLANDC__' ifTrue:[ 
+            cmd := 'bmake.bat ' , target.
+        ].
+        OperatingSystem getCCDefine = '__MINGW32__' ifTrue:[ 
+            (OperatingSystem getEnvironment: 'MINGW_DIR') isNil ifTrue:[ 
+                self assert: 'C:\MINGW' asFilename exists description: 'MINGW_DIR environment variable not set and C:\MINGW does not exist'.
+                OperatingSystem setEnvironment: 'MINGW_DIR'     to: 'C:\MINGW'.
+            ].
+            OperatingSystem setEnvironment: 'MINGW'         to: '__MINGW32__'.
+            OperatingSystem setEnvironment: 'USEMINGW_ARG'  to: '-DUSEMINGW32'.
+            OperatingSystem setEnvironment: 'PATH'          to: (OperatingSystem getEnvironment: 'PATH') , ';C:\MINGW\bin'.
+            cmd := 'mingwmake.bat ' , target.
+        ].
+        OperatingSystem getCCDefine = '__MINGW64__' ifTrue:[ 
+            (OperatingSystem getEnvironment: 'MINGW_DIR') isNil ifTrue:[ 
+                self assert: 'C:\MINGW64' asFilename exists description: 'MINGW_DIR environment variable not set and C:\MINGW does not exist'.
+                OperatingSystem setEnvironment: 'MINGW_DIR'     to: 'C:\MINGW64'.
+            ].
+            OperatingSystem setEnvironment: 'MINGW'         to: '__MINGW64__'.
+            OperatingSystem setEnvironment: 'USEMINGW_ARG'  to: '-DUSEMINGW64'.
+            OperatingSystem setEnvironment: 'PATH'          to: (OperatingSystem getEnvironment: 'PATH') , ';C:\MINGW64\bin'.
+            cmd := 'mingwmake.bat ' , target.
+        ].
+    ] ifFalse:[
+        cmd := 'make -f Makefile.init ', target
+    ].
     self 
         assert: (OperatingSystem executeCommand: cmd inDirectory: pkgdir)
         description: 'Failed to make target ''', target, ''' in test package'.
 
     "Created: / 14-08-2013 / 18:26:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-04-2016 / 09:32:26 / jv"
 ! !
 
 !SnapshotRestartTests methodsFor:'running'!
@@ -198,6 +223,11 @@
     ^ '$Header$'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !