[pypy-commit] lang-smalltalk default: refactored the kernel test collection to be faster on interpreted RSqueak VMs
lwassermann
noreply at buildbot.pypy.org
Tue Jul 9 20:21:41 CEST 2013
Author: Lars Wassermann <lars.wassermann at gmail.com>
Branch:
Changeset: r492:248c652808be
Date: 2013-07-08 13:40 +0200
http://bitbucket.org/pypy/lang-smalltalk/changeset/248c652808be/
Log: refactored the kernel test collection to be faster on interpreted
RSqueak VMs
diff --git a/SPy-Benchmarks.package/Integer.extension/instance/runTest..st b/SPy-Benchmarks.package/Integer.extension/instance/runTest..st
new file mode 100644
--- /dev/null
+++ b/SPy-Benchmarks.package/Integer.extension/instance/runTest..st
@@ -0,0 +1,3 @@
+*SPy-Benchmarks
+runTest: aString
+ ^SPyRunner runTest: aString asSymbol
\ No newline at end of file
diff --git a/SPy-Benchmarks.package/Integer.extension/methodProperties.json b/SPy-Benchmarks.package/Integer.extension/methodProperties.json
--- a/SPy-Benchmarks.package/Integer.extension/methodProperties.json
+++ b/SPy-Benchmarks.package/Integer.extension/methodProperties.json
@@ -3,4 +3,5 @@
},
"instance" : {
"runSPyBenchmarks" : "lw 4/29/2013 13:20",
+ "runTest:" : "lw 6/17/2013 13:28",
"runTests" : "lw 5/30/2013 18:02" } }
diff --git a/SPy-Benchmarks.package/SPyRunner.class/class/initialize.st b/SPy-Benchmarks.package/SPyRunner.class/class/initialize.st
new file mode 100644
--- /dev/null
+++ b/SPy-Benchmarks.package/SPyRunner.class/class/initialize.st
@@ -0,0 +1,5 @@
+benchmarks
+initialize
+ "self initialize"
+ super initialize.
+ KernelTests := self kernelTests.
\ No newline at end of file
diff --git a/SPy-Benchmarks.package/SPyRunner.class/class/kernelTests.st b/SPy-Benchmarks.package/SPyRunner.class/class/kernelTests.st
new file mode 100644
--- /dev/null
+++ b/SPy-Benchmarks.package/SPyRunner.class/class/kernelTests.st
@@ -0,0 +1,7 @@
+benchmarks
+kernelTests
+ | suite |
+ suite := TestSuite named: 'RSqueakVM-Tests'.
+ "To add later: MethodPragmaTest . WeakMessageSendTest"
+ {IntegerTest . InstructionClientTest . FractionTest . DelayTest . CompiledMethodTest . BehaviorTest . StopwatchTest . YearTest . TimeTest . AllocationTest . ProcessTest . ClassDescriptionTest . SmallIntegerTest . MethodContextTest . CompiledMethodComparisonTest . YearMonthWeekTest . TimespanTest . DependentsArrayTest . CategorizerTest . IntegerDigitLogicTest . SemaphoreTest . PromiseTest . DateTest . DateAndTimeEpochTest . InstVarRefLocatorTest . DateAndTimeTest . BasicBehaviorClassMetaclassTest . ExtendedNumberParserTest . TrueTest . UndefinedObjectTest . ComplexTest . ScheduleTest . CompiledMethodTrailerTest . LargePositiveIntegerTest . ScaledDecimalTest . ClassBuilderTest . SqNumberParserTest . ProtoObjectTest . NumberParsingTest . RandomTest . DateAndTimeLeapTest . TimespanDoTest . ClassTest . TimespanDoSpanAYearTest . BlockContextTest . TimeStampTest . GradientFillStyleTest . MethodPropertiesTest . WeekTest . ObjectTest . DurationTest . NumberTest . MonthTest . FalseTest . InstructionPrinterTest . MonitorTest . BooleanTest . BlockClosureTest . FloatTest . ProcessSpecificTest . LargeNegativeIntegerTest} do: [ :each | each addToSuiteFromSelectors: suite].
+ ^ suite
\ No newline at end of file
diff --git a/SPy-Benchmarks.package/SPyRunner.class/class/nonDestroyingTests.st b/SPy-Benchmarks.package/SPyRunner.class/class/nonDestroyingTests.st
new file mode 100644
--- /dev/null
+++ b/SPy-Benchmarks.package/SPyRunner.class/class/nonDestroyingTests.st
@@ -0,0 +1,11 @@
+benchmarks
+nonDestroyingTests
+ | suite |
+ suite := KernelTests copy.
+ suite
+ tests: (suite tests
+ reject: [ :eachTestCase |
+ "Those tests lead to VM-Assertion Errors, etc."
+ #(testBenchFib testAllNamedFromTo testWaitTimeoutMSecs)
+ includes: eachTestCase selector]).
+ ^ suite
\ No newline at end of file
diff --git a/SPy-Benchmarks.package/SPyRunner.class/class/runKernelTests.st b/SPy-Benchmarks.package/SPyRunner.class/class/runKernelTests.st
--- a/SPy-Benchmarks.package/SPyRunner.class/class/runKernelTests.st
+++ b/SPy-Benchmarks.package/SPyRunner.class/class/runKernelTests.st
@@ -1,15 +1,4 @@
benchmarks
runKernelTests
"self runTests"
- | result suite |
- suite := TestSuite named: 'RSqueakVM-Tests'.
- "To add later: MethodPragmaTest . WeakMessageSendTest"
- {IntegerTest . InstructionClientTest . FractionTest . DelayTest . CompiledMethodTest . BehaviorTest . StopwatchTest . YearTest . TimeTest . AllocationTest . ProcessTest . ClassDescriptionTest . SmallIntegerTest . MethodContextTest . CompiledMethodComparisonTest . YearMonthWeekTest . TimespanTest . DependentsArrayTest . CategorizerTest . IntegerDigitLogicTest . SemaphoreTest . PromiseTest . DateTest . DateAndTimeEpochTest . InstVarRefLocatorTest . DateAndTimeTest . BasicBehaviorClassMetaclassTest . ExtendedNumberParserTest . TrueTest . UndefinedObjectTest . ComplexTest . ScheduleTest . CompiledMethodTrailerTest . LargePositiveIntegerTest . ScaledDecimalTest . ClassBuilderTest . SqNumberParserTest . ProtoObjectTest . NumberParsingTest . RandomTest . DateAndTimeLeapTest . TimespanDoTest . ClassTest . TimespanDoSpanAYearTest . BlockContextTest . TimeStampTest . GradientFillStyleTest . MethodPropertiesTest . WeekTest . ObjectTest . DurationTest . NumberTest . MonthTest . FalseTest . InstructionPrinterTest . MonitorTest . BooleanTest . BlockClosureTest . FloatTest . ProcessSpecificTest . LargeNegativeIntegerTest} do: [ :each | each addToSuiteFromSelectors: suite].
- suite
- tests: (suite tests
- reject: [ :eachTestCase |
- "Those tests lead to VM-Assertion Errors, etc."
- #(testBenchFib testMultiProcessWaitOnSameDelay testBehaviornewnewShouldNotCrash testAllNamedFromTo testChange testAtomicSuspend testWaitTimeoutMSecs testMonitorNotGainingUnwantedSignalsDuringUnwinding testDegreeCosForExceptionalValues testDegreeSinForExceptionalValues testInfinity1 testInfinity2)
- includes: eachTestCase selector]).
- result := suite run.
- ^result asString
\ No newline at end of file
+ ^ self nonDestroyingTests run asString
\ No newline at end of file
diff --git a/SPy-Benchmarks.package/SPyRunner.class/class/runShootout.st b/SPy-Benchmarks.package/SPyRunner.class/class/runShootout.st
--- a/SPy-Benchmarks.package/SPyRunner.class/class/runShootout.st
+++ b/SPy-Benchmarks.package/SPyRunner.class/class/runShootout.st
@@ -2,12 +2,10 @@
runShootout
"self runShootout explore"
| stream times |
- stream := (ByteString new: 10000) writeStream.
+ stream := ShootoutTests stdout.
times := Dictionary new.
- { [ShootoutTests nbody: 200000 "20000000" to: stream].
- [ShootoutTests binarytrees: 17 to: stream].
- "[ShootoutTests chameneosredux: 2600000 to: stream]."
- [ShootoutTests threadring: 100000000 to: stream] } do:
+ { [ShootoutTests chameneosredux: 2600000 to: stream].
+ } do:
[:block | | benchmark t |
benchmark := (ShootoutTests selectorForSimpleBlock: block) copyUpTo: $:.
"Smalltalk garbageCollect."
diff --git a/SPy-Benchmarks.package/SPyRunner.class/class/runTest..st b/SPy-Benchmarks.package/SPyRunner.class/class/runTest..st
new file mode 100644
--- /dev/null
+++ b/SPy-Benchmarks.package/SPyRunner.class/class/runTest..st
@@ -0,0 +1,10 @@
+benchmarks
+runTest: aSymbol
+ "self runTests"
+ | suite |
+ suite := KernelTests.
+ suite := suite copy
+ tests: (suite tests
+ select: [ :eachTestCase |
+ eachTestCase selector = aSymbol]).
+ ^ suite run asString
\ No newline at end of file
diff --git a/SPy-Benchmarks.package/SPyRunner.class/methodProperties.json b/SPy-Benchmarks.package/SPyRunner.class/methodProperties.json
--- a/SPy-Benchmarks.package/SPyRunner.class/methodProperties.json
+++ b/SPy-Benchmarks.package/SPyRunner.class/methodProperties.json
@@ -1,9 +1,13 @@
{
"class" : {
- "format:" : "lw 4/29/2013 17:13",
+ "format:" : "lw 6/17/2013 19:26",
+ "initialize" : "lw 6/26/2013 16:07",
+ "kernelTests" : "lw 6/26/2013 16:01",
+ "nonDestroyingTests" : "lw 6/26/2013 17:04",
"run" : "lw 4/29/2013 17:51",
- "runKernelTests" : "lw 5/30/2013 18:03",
- "runShootout" : "lw 5/3/2013 14:43",
+ "runKernelTests" : "lw 6/17/2013 13:31",
+ "runShootout" : "lw 6/27/2013 16:03",
+ "runTest:" : "lw 6/26/2013 16:06",
"runTinyBenchmarks" : "lw 4/29/2013 17:39" },
"instance" : {
} }
diff --git a/SPy-Benchmarks.package/SPyRunner.class/properties.json b/SPy-Benchmarks.package/SPyRunner.class/properties.json
--- a/SPy-Benchmarks.package/SPyRunner.class/properties.json
+++ b/SPy-Benchmarks.package/SPyRunner.class/properties.json
@@ -3,7 +3,7 @@
"classinstvars" : [
],
"classvars" : [
- ],
+ "KernelTests" ],
"commentStamp" : "",
"instvars" : [
],
diff --git a/SPy-Benchmarks.package/TestSuite.extension/instance/run..st b/SPy-Benchmarks.package/TestSuite.extension/instance/run..st
--- a/SPy-Benchmarks.package/TestSuite.extension/instance/run..st
+++ b/SPy-Benchmarks.package/TestSuite.extension/instance/run..st
@@ -2,5 +2,5 @@
run: aResult
self tests do: [:each |
self changed: each.
- SPyVM print: 'Running Test ', (each asString padded: #right to: 62 with: $ ), String tab, '(', aResult asString, ')'.
+ SPyVM print: 'Running Test ', each asString.
each run: aResult].
\ No newline at end of file
diff --git a/SPy-Benchmarks.package/TestSuite.extension/methodProperties.json b/SPy-Benchmarks.package/TestSuite.extension/methodProperties.json
--- a/SPy-Benchmarks.package/TestSuite.extension/methodProperties.json
+++ b/SPy-Benchmarks.package/TestSuite.extension/methodProperties.json
@@ -2,5 +2,5 @@
"class" : {
},
"instance" : {
- "run:" : "lw 5/30/2013 11:19",
+ "run:" : "lw 6/18/2013 10:13",
"tests:" : "lw 5/29/2013 20:14" } }
diff --git a/SPy-Benchmarks.package/monticello.meta/version b/SPy-Benchmarks.package/monticello.meta/version
--- a/SPy-Benchmarks.package/monticello.meta/version
+++ b/SPy-Benchmarks.package/monticello.meta/version
@@ -1,1 +1,1 @@
-(name 'SPy-Benchmarks-lw.6' message 'added testing messages and modified TestSuite to print stuff' id '72f3d7a3-5e09-43e5-a783-fb7c29117a52' date '31 May 2013' time '9:35:44.102 am' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.5' message 'added another benchmark' id 'cfe2797f-9dd9-4073-aa6e-86cda0ba3dbf' date '3 May 2013' time '2:43:39.36 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.4' message 'changed the test running and collecting to work with the current spy vm
removed two of the shootout tests due to failure on spy' id '9d1c1e0a-0209-45d3-8e0a-220919ab5701' date '29 April 2013' time '6:07:26.686 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.3' message 'added tiny benchmarks' id 'c8214449-4009-4a64-8284-3c58395fe2bc' date '29 April 2013' time '2:15:43.242 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.2' message 'second try for an initial commit with shootout tests' id 'e538d5dc-ff13-4753-a166-bb95af0c7e0b' date '29 April 2013' time '1:41:50.098 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.1' message 'initial commit with existing Shootout tests' id '67ba6a6a-5476-4dc0-892f-de76933491e8' date '29 April 2013' time '1:40:20.34 pm' author 'lw' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
\ No newline at end of file
+(name 'SPy-Benchmarks-lw.7' message 'refactored kernel tests' id '0130d8ee-c75a-478c-93ca-46e55b658f2e' date '8 July 2013' time '11:15:47.373 am' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.6' message 'added testing messages and modified TestSuite to print stuff' id '72f3d7a3-5e09-43e5-a783-fb7c29117a52' date '31 May 2013' time '9:35:44.102 am' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.5' message 'added another benchmark' id 'cfe2797f-9dd9-4073-aa6e-86cda0ba3dbf' date '3 May 2013' time '2:43:39.36 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.4' message 'changed the test running and collecting to work with the current spy vm
removed two of the shootout tests due to failure on spy' id '9d1c1e0a-0209-45d3-8e0a-220919ab5701' date '29 April 2013' time '6:07:26.686 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.3' message 'added tiny benchmarks' id 'c8214449-4009-4a64-8284-3c58395fe2bc' date '29 April 2013' time '2:15:43.242 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.2' message 'second try for an initial commit with shootout tests' id 'e538d5dc-ff13-4753-a166-bb95af0c7e0b' date '29 April 2013' time '1:41:50.098 pm' author 'lw' ancestors ((name 'SPy-Benchmarks-lw.1' message 'initial commit with existing Shootout tests' id '67ba6a6a-5476-4dc0-892f-de76933491e8' date '29 April 2013' time '1:40:20.34 pm' author 'lw' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
\ No newline at end of file
More information about the pypy-commit
mailing list