Added configuration identification into JSON report (part 1)
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sat, 22 Jun 2013 23:19:56 +0100
changeset 88 7939ec1b572b
parent 87 03415cf0abf8
child 89 b37be3ddfeed
Added configuration identification into JSON report (part 1)
s/BenchmarkPlatform.st
s/BenchmarkReportJSON.st
s/BenchmarkReportText.st
s/bmake.bat
s/lccmake.bat
s/mingwmake.bat
s/s.rc
s/stx/BenchmarkPlatformStX.st
s/stx/Make.proto
s/stx/Makefile.init
s/stx/stx.rc
s/vcmake.bat
--- a/s/BenchmarkPlatform.st	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/BenchmarkPlatform.st	Sat Jun 22 23:19:56 2013 +0100
@@ -63,6 +63,20 @@
     ^ self subclassResponsibility
 ! !
 
+!BenchmarkPlatform methodsFor:'configuration'!
+
+configurationStringOS
+    self subclassResponsibility
+
+    "Created: / 22-06-2013 / 22:55:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+configurationStringRuntime
+    self subclassResponsibility
+
+    "Created: / 22-06-2013 / 22:55:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !BenchmarkPlatform methodsFor:'exit'!
 
 exit:arg
--- a/s/BenchmarkReportJSON.st	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/BenchmarkReportJSON.st	Sat Jun 22 23:19:56 2013 +0100
@@ -20,11 +20,14 @@
 !BenchmarkReportJSON methodsFor:'writing'!
 
 write
-    json writeDictionaryWith:[
+    json writeDictionaryWith:[  
+        json writeKey: 'configuration' valueWith: [ self writeConfiguration ].
+        json writeElementSeparator.
         json writeKey: 'outcomes' valueWith: [ self writeOutcomes ]
     ].
 
     "Created: / 12-06-2013 / 14:03:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 22-06-2013 / 23:11:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 writeBenchmark: benchmark
@@ -37,6 +40,18 @@
     "Created: / 12-06-2013 / 14:10:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+writeConfiguration
+    json writeDictionaryWith: [
+        json writeKey: 'language'   value: 'Smalltalk'.
+        json writeElementSeparator.
+        json writeKey: 'runtime'    value: BenchmarkPlatform current configurationStringRuntime.
+        json writeElementSeparator.
+        json writeKey: 'os'         value: BenchmarkPlatform current configurationStringOS
+    ].
+
+    "Created: / 22-06-2013 / 22:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 writeFooter
     "superclass BenchmarkReport says that I am responsible to implement this method"
 
--- a/s/BenchmarkReportText.st	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/BenchmarkReportText.st	Sat Jun 22 23:19:56 2013 +0100
@@ -54,13 +54,14 @@
 !
 
 writeOutcome: outcome
-    self format: outcome benchmark selector width: 15 align: #right.
+    self format: outcome benchmark selector width: 25 align: #right.
     stream nextPutAll: ' : '.
-    self format: outcome time width: 5 align: #right.
+    self format: outcome time width: 10 align: #right.
     stream nextPutAll: ' [ms]'.
     stream cr.
 
     "Created: / 11-06-2013 / 23:24:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 22-06-2013 / 23:12:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 writeOutcomes
--- a/s/bmake.bat	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/bmake.bat	Sat Jun 22 23:19:56 2013 +0100
@@ -10,16 +10,16 @@
 make.exe -N -f bc.mak  %DEFINES% %*
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/benchmarks
+@echo "Buildung jv/calipel/s/stx
 @echo "***********************************"
-@cd benchmarks
+@cd stx
 @call bmake %1 %2
 @cd ..
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/stx
+@echo "Buildung jv/calipel/s/benchmarks
 @echo "***********************************"
-@cd stx
+@cd benchmarks
 @call bmake %1 %2
 @cd ..
 
--- a/s/lccmake.bat	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/lccmake.bat	Sat Jun 22 23:19:56 2013 +0100
@@ -6,16 +6,16 @@
 make.exe -N -f bc.mak -DUSELCC=1 %*
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/benchmarks
+@echo "Buildung jv/calipel/s/stx
 @echo "***********************************"
-@cd benchmarks
+@cd stx
 @call lccmake %1 %2
 @cd ..
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/stx
+@echo "Buildung jv/calipel/s/benchmarks
 @echo "***********************************"
-@cd stx
+@cd benchmarks
 @call lccmake %1 %2
 @cd ..
 
--- a/s/mingwmake.bat	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/mingwmake.bat	Sat Jun 22 23:19:56 2013 +0100
@@ -14,16 +14,16 @@
 make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/benchmarks
+@echo "Buildung jv/calipel/s/stx
 @echo "***********************************"
-@cd benchmarks
+@cd stx
 @call mingwmake %1 %2
 @cd ..
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/stx
+@echo "Buildung jv/calipel/s/benchmarks
 @echo "***********************************"
-@cd stx
+@cd benchmarks
 @call mingwmake %1 %2
 @cd ..
 
--- a/s/s.rc	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/s.rc	Sat Jun 22 23:19:56 2013 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
       VALUE "ProductName", "LibraryName\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Wed, 12 Jun 2013 13:26:49 GMT\0"
+      VALUE "ProductDate", "Sat, 22 Jun 2013 22:19:02 GMT\0"
     END
 
   END
--- a/s/stx/BenchmarkPlatformStX.st	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/stx/BenchmarkPlatformStX.st	Sat Jun 22 23:19:56 2013 +0100
@@ -79,6 +79,42 @@
     "Created: / 06-06-2013 / 09:30:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!BenchmarkPlatformStX methodsFor:'configuration'!
+
+configurationStringOS
+    "superclass BenchmarkPlatform says that I am responsible to implement this method"
+
+    | sysinfo |
+
+    sysinfo := OperatingSystem getSystemInfo.
+
+    ^(sysinfo at: #system) 
+        , ' ' ,  (sysinfo at: #release)
+        , ' ' ,  (sysinfo at: #machine)
+
+    "Modified: / 22-06-2013 / 23:01:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+configurationStringRuntime
+    "superclass BenchmarkPlatform says that I am responsible to implement this method"
+
+    | runtime |
+
+    runtime := 'Smalltalk/X ' ,
+            Smalltalk majorVersionNr printString ,
+            '.',
+            Smalltalk minorVersionNr printString ,
+            '.',
+            Smalltalk revisionNr printString.
+
+    (Smalltalk versionString includesSubString: 'jv') ifTrue:[
+        runtime := runtime , 'jv'
+    ].
+    ^runtime
+
+    "Modified: / 22-06-2013 / 23:05:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !BenchmarkPlatformStX methodsFor:'exit'!
 
 exit: code
--- a/s/stx/Make.proto	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/stx/Make.proto	Sat Jun 22 23:19:56 2013 +0100
@@ -125,9 +125,6 @@
 $(OUTDIR)BenchmarkPlatformStX.$(O) BenchmarkPlatformStX.$(H): BenchmarkPlatformStX.st $(INCLUDE_TOP)/jv/calipel/s/BenchmarkPlatform.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)BenchmarkRunnerAdapterStX.$(O) BenchmarkRunnerAdapterStX.$(H): BenchmarkRunnerAdapterStX.st $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)jv_calipel_s_stx.$(O) jv_calipel_s_stx.$(H): jv_calipel_s_stx.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)BenchmarkPlatformStX.$(O) BenchmarkPlatformStX.$(H): BenchmarkPlatformStX.st $(INCLUDE_TOP)/jv/calipel/s/BenchmarkPlatform.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)BenchmarkRunnerAdapterStX.$(O) BenchmarkRunnerAdapterStX.$(H): BenchmarkRunnerAdapterStX.st $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)jv_calipel_s_stx.$(O) jv_calipel_s_stx.$(H): jv_calipel_s_stx.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/s/stx/Makefile.init	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/stx/Makefile.init	Sat Jun 22 23:19:56 2013 +0100
@@ -8,7 +8,7 @@
 #
 # MACOSX caveat:
 #   as filenames are not case sensitive (in a default setup),
-#   we cannot use tha above trick. Therefore, this file is now named
+#   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.
--- a/s/stx/stx.rc	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/stx/stx.rc	Sat Jun 22 23:19:56 2013 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
       VALUE "ProductName", "ProductName\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Fri, 07 Jun 2013 21:37:08 GMT\0"
+      VALUE "ProductDate", "Sat, 22 Jun 2013 22:17:01 GMT\0"
     END
 
   END
--- a/s/vcmake.bat	Sat Jun 22 22:34:56 2013 +0100
+++ b/s/vcmake.bat	Sat Jun 22 23:19:56 2013 +0100
@@ -18,16 +18,16 @@
 
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/benchmarks
+@echo "Buildung jv/calipel/s/stx
 @echo "***********************************"
-@cd benchmarks
+@cd stx
 @call vcmake %1 %2
 @cd ..
 
 @echo "***********************************"
-@echo "Buildung jv/calipel/s/stx
+@echo "Buildung jv/calipel/s/benchmarks
 @echo "***********************************"
-@cd stx
+@cd benchmarks
 @call vcmake %1 %2
 @cd ..