Skip to content

Commit

Permalink
Issue #302: produce test suite for a list of projects; also convert…
Browse files Browse the repository at this point in the history
… `rowanTestSuite.gs` to use new API: `Rowan projectTools test testSuiteForProjectsNamed: #('Rowan')`

Rowan tests
366 run, 357 passed, 6 failed, 3 errors
  errors
	RwBrowserToolApiTest>>#testMoveGlobalExtensionSessionMethods
	RwHybridBrowserToolTest>>#testHybridMoveMethodFromSessionMethodsIntoSessionMethods
	RwHybridBrowserToolTest>>#testHybridMoveMethodIntoSessionMethods
  failures
	RwLoadingTest>>#testPoolDictionaryChanges
	RwMoveTest>>#testProjectSet_move_new_class_version_with_method_between_packages
	RwMoveTest>>#testProjectSet_move_new_class_version_with_method_between_packages_and_symbolDict
	RwMoveTest>>#testProjectSet_move_new_class_version_with_method_between_packages_and_symbolDict_issue_254
	RwMoveTest>>#testProjectSet_move_new_class_version_with_method_between_packages_issue_254
	RwSymbolDictionaryTest>>#testClassVersioningPatch
  • Loading branch information
dalehenrich committed Aug 3, 2018
1 parent 4e6ea28 commit 298572c
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 39 deletions.
49 changes: 14 additions & 35 deletions platforms/gemstone/topaz/rowanTestSuite.gs
@@ -1,38 +1,17 @@
run
| suite res strm |
suite := TestSuite named: 'Rowan tests'.
{RwLoadingTest.
RwUrlTest.
RwPackageReadWriteTest.
RwSymbolDictionaryTest.
RwProjectToolTest.
RwEditToolTest.
RwProjectSetTest.
RwHybridBrowserToolTest.
RwBrowserToolApiTest.
RwRowanSample2Test.
RwRowanProjectIssuesTest.
RwCloneSymbolDictionaryTest.
RwRowanIssue188Test.
RwProjectConfigurationsTest.
RwSemanticVersionNumber200TestCase.
RwSemanticVersionNumberTestCase.
RwGemStoneVersionNumberTestCase.
RwRowanSample4Test.
RwAdoptToolApiTest.
RwProjectToolTest.
RwDisownToolApiTest.
RwMoveTest.
RwReconcileToolApiTest. } do: [ :cl | suite addTests: cl suite tests ].
| suite strm res |
suite := Rowan projectTools test testSuiteForProjectsNamed: #( 'Rowan' 'STON' 'Cypress' 'Tonel' ).
res := suite run.

strm := WriteStream on: String new.
strm nextPutAll: res printString; lf.
strm nextPutAll: ' errors'; lf.
(res errors collect: [:each | each printString ]) asArray sort do: [:each |
strm tab; nextPutAll: each; lf].
strm nextPutAll: ' failures'; lf.
(res failures collect: [:each | each printString]) asArray sort do: [:each |
strm tab; nextPutAll: each; lf].
strm contents
strm := WriteStream on: String new.
strm nextPutAll: suite name; lf.
strm nextPutAll: res printString; lf.
strm nextPutAll: ' errors'; lf.
(res errors collect: [:each | each printString ]) asArray sort do: [:each |
strm tab; nextPutAll: each; lf].
res failures size = 0
ifTrue: [ ^ strm contents ].
strm nextPutAll: ' failures'; lf.
(res failures collect: [:each | each printString]) asArray sort do: [:each |
strm tab; nextPutAll: each; lf].
strm contents
%
31 changes: 27 additions & 4 deletions rowan/src/Rowan-Tools-Core/RwPrjTestTool.class.st
Expand Up @@ -4,12 +4,11 @@ Class {
#category : 'Rowan-Tools-Core'
}

{ #category : 'smalltalk api' }
RwPrjTestTool >> testSuiteForProjectNamed: projectName [
{ #category : 'private' }
RwPrjTestTool >> _addTestsForProjectNamed: projectName toTestSuite: suite [

| loadedProject suite |
| loadedProject |
loadedProject := Rowan image loadedProjectNamed: projectName.
suite := TestSuite named: projectName , ' tests'.
loadedProject loadedPackages
do: [ :loadedPackage |
loadedPackage loadedClasses values
Expand All @@ -21,4 +20,28 @@ RwPrjTestTool >> testSuiteForProjectNamed: projectName [
cl isAbstract
ifFalse: [ suite addTests: cl suite tests ] ] ] ].
^ suite

]

{ #category : 'smalltalk api' }
RwPrjTestTool >> testSuiteForProjectNamed: projectName [

| suite |
suite := TestSuite named: projectName , ' tests'.
self _addTestsForProjectNamed: projectName toTestSuite: suite.
^ suite

]

{ #category : 'smalltalk api' }
RwPrjTestTool >> testSuiteForProjectsNamed: projectNames [

| suite strm |
strm := WriteStream on: String new.
projectNames do: [:projectName | strm nextPutAll: projectName; space ].
strm nextPutAll: 'tests'.
suite := TestSuite named: strm contents.
projectNames do: [:projectName | self _addTestsForProjectNamed: projectName toTestSuite: suite ].
^ suite

]

0 comments on commit 298572c

Please sign in to comment.