Skip to content

Commit 5fc2643

Browse files
authored
Merge pull request #19622 from NathanMalenge/systemSupport
Modularisation of System support
2 parents 37b4665 + 9b27090 commit 5fc2643

12 files changed

Lines changed: 125 additions & 105 deletions

File tree

Jenkinsfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ def bootstrapImage(){
201201
isoTesters['System-CommandLineHandler'] = { defineIsoTestStage("SystemCommandLineHandler") }
202202
isoTesters['FileSystem'] = { defineIsoTestStage("FileSystem") }
203203
isoTesters['System-Finalization'] = { defineIsoTestStage("SystemFinalization") }
204+
isoTesters['System-Support'] = { defineIsoTestStage("SystemSupport") }
204205
isoTesters['Collections'] = { defineIsoTestStage("Collections") }
205206
parallel isoTesters
206207

src/BaselineOfCollections/BaselineOfCollections.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ BaselineOfCollections >> baseline: spec [
3232
package: 'Collections-Streams-Tests' with: [ spec requires: #( 'Collections-Streams' ) ];
3333
package: 'Collections-Strings-Tests' with: [ spec requires: #( 'Collections-Strings' ) ];
3434
package: 'Collections-Support-Tests' with: [ spec requires: #( 'Collections-Support' ) ];
35-
package: 'Collections-Unordered-Tests' with: [ spec requires: #( 'Collections-Unordered' 'Collections-Arithmetic') ];
35+
package: 'Collections-Unordered-Tests' with: [ spec requires: #( 'Collections-Unordered' 'Collections-Arithmetic' 'Collections-Abstract-Tests') ];
3636
package: 'Collections-Weak-Tests' with: [ spec requires: #( 'Collections-Weak' 'Collections-Unordered-Tests') ];
3737

3838
package: 'Collections-Arithmetic-Tests' with: [ spec requires: #( 'Collections-Arithmetic' ) ];

src/BaselineOfGeneralTests/BaselineOfGeneralTests.class.st

Lines changed: 56 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -13,62 +13,60 @@ BaselineOfGeneralTests >> baseline: spec [
1313
| repository |
1414
repository := self packageRepositoryURLForSpec: spec.
1515
spec for: #common do: [
16-
spec
17-
baseline: 'Debugging' with: [ spec loads: #Tests from: repository ];
18-
19-
baseline: 'SessionManagerTests' with: [
20-
spec
21-
className: 'BaselineOfSystemSessionManager';
22-
repository: repository;
23-
loads: #('Tests') ];
24-
25-
baseline: 'System-CommandLineHandler-Tests' with: [
26-
spec
27-
className: 'BaselineOfSystemCommandLineHandler';
28-
repository: repository;
29-
loads: #('Tests') ];
30-
31-
32-
package: 'NumberParser-Tests';
33-
package: 'Fuel-Core-Tests';
34-
package: 'FormCanvas-Tests';
35-
package: 'Collections-Arithmetic-Tests';
36-
package: 'Metacello-CommandLine-Tests';
37-
baseline: 'Epicea' with: [ spec loads: #Tests from: repository ];
38-
baseline: 'Fonts' with: [ spec loads: #Tests from: repository ];
39-
baseline: 'FreeType' with: [ spec loads: #tests from: repository ];
40-
package: 'Graphics-Tests';
41-
package: 'Text-Tests';
42-
package: 'Morphic-Testing-Support';
43-
package: 'Morphic-Tests';
44-
package: 'Morphic-Widgets-FastTable-Tests';
45-
package: 'NECompletion-Tests';
46-
47-
package: 'Regex-Core-Tests';
48-
package: 'Rubric-Tests';
49-
package: 'ScriptingExtensions-Tests';
50-
package: 'StartupPreferences-Tests';
51-
package: 'STON-Tests';
52-
package: 'System-Object Events-Tests';
53-
package: 'System-Model-Tests';
54-
package: 'System-Caching-Tests';
55-
package: 'System-Utilities-Tests';
56-
package: 'System-Hashing-Tests';
57-
package: 'System-History-Tests';
58-
package: 'System-Localization-Tests';
59-
package: 'System-Settings-Tests';
60-
package: 'System-Support-Tests';
61-
package: 'Text-Diff-Tests';
62-
package: 'Tool-ExternalBrowser-Tests';
63-
package: 'Tool-Profilers-Tests';
64-
package: 'Tool-ImageCleaner-Tests';
65-
package: 'Tools-CodeNavigation-Tests';
66-
package: 'Tools-Tests';
67-
package: 'Zinc-Resource-Meta-Tests';
68-
package: 'Zinc-HTTP-Examples';
69-
package: 'Zinc-Tests';
70-
"requires Zinc-Resource-Meta-Tests"package:
71-
'System-Identification-Tests';
72-
package: 'Transcript-NonInteractive-Tests';
73-
package: 'PharoDocComment-Tests' "standalone" ]
16+
spec
17+
baseline: 'Debugging' with: [ spec loads: #Tests from: repository ];
18+
baseline: 'SessionManagerTests' with: [
19+
spec
20+
className: 'BaselineOfSystemSessionManager';
21+
repository: repository;
22+
loads: #( 'Tests' ) ];
23+
baseline: 'System-CommandLineHandler-Tests' with: [
24+
spec
25+
className: 'BaselineOfSystemCommandLineHandler';
26+
repository: repository;
27+
loads: #( 'Tests' ) ];
28+
baseline: 'System-Support-Tests' with: [
29+
spec
30+
className: 'BaselineOfSystemSupport';
31+
repository: repository;
32+
loads: #( 'Tests' ) ];
33+
package: 'NumberParser-Tests';
34+
package: 'Fuel-Core-Tests';
35+
package: 'FormCanvas-Tests';
36+
package: 'Collections-Arithmetic-Tests';
37+
package: 'Metacello-CommandLine-Tests';
38+
baseline: 'Epicea' with: [ spec loads: #Tests from: repository ];
39+
baseline: 'Fonts' with: [ spec loads: #Tests from: repository ];
40+
baseline: 'FreeType' with: [ spec loads: #tests from: repository ];
41+
package: 'Graphics-Tests';
42+
package: 'Text-Tests';
43+
package: 'Morphic-Testing-Support';
44+
package: 'Morphic-Tests';
45+
package: 'Morphic-Widgets-FastTable-Tests';
46+
package: 'NECompletion-Tests';
47+
package: 'Regex-Core-Tests';
48+
package: 'Rubric-Tests';
49+
package: 'ScriptingExtensions-Tests';
50+
package: 'StartupPreferences-Tests';
51+
package: 'STON-Tests';
52+
package: 'System-Object Events-Tests';
53+
package: 'System-Model-Tests';
54+
package: 'System-Caching-Tests';
55+
package: 'System-Utilities-Tests';
56+
package: 'System-Hashing-Tests';
57+
package: 'System-History-Tests';
58+
package: 'System-Localization-Tests';
59+
package: 'System-Settings-Tests';
60+
package: 'Text-Diff-Tests';
61+
package: 'Tool-ExternalBrowser-Tests';
62+
package: 'Tool-Profilers-Tests';
63+
package: 'Tool-ImageCleaner-Tests';
64+
package: 'Tools-CodeNavigation-Tests';
65+
package: 'Tools-Tests';
66+
package: 'Zinc-Resource-Meta-Tests';
67+
package: 'Zinc-HTTP-Examples';
68+
package: 'Zinc-Tests';
69+
"requires Zinc-Resource-Meta-Tests"package: 'System-Identification-Tests';
70+
package: 'Transcript-NonInteractive-Tests';
71+
package: 'PharoDocComment-Tests' "standalone" ]
7472
]

src/BaselineOfKernel/BaselineOfKernel.class.st

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,46 +29,40 @@ BaselineOfKernel >> baseline: spec [
2929
<baseline>
3030
| repository |
3131
repository := self packageRepositoryURLForSpec: spec.
32-
32+
3333
spec for: #common do: [
3434
spec
35-
baseline: 'Files-Tests' with: [
36-
spec
37-
className: 'BaselineOfFiles';
38-
repository: repository;
39-
loads: #( 'Tests' )];
40-
41-
baseline: 'Zinc-Character-Encoding-Tests' with: [
35+
baseline: 'Files-Tests' with: [
36+
spec
37+
className: 'BaselineOfFiles';
38+
repository: repository;
39+
loads: #( 'Tests' ) ];
40+
baseline: 'Zinc-Character-Encoding-Tests' with: [
4241
spec
4342
className: 'BaselineOfZincCharacterEncoding';
4443
repository: repository;
45-
loads: #( 'Tests' )];
46-
47-
48-
baseline: 'System-Platforms-Tests' with: [
44+
loads: #( 'Tests' ) ];
45+
baseline: 'System-Platforms-Tests' with: [
4946
spec
5047
className: 'BaselineOfSystemPlatforms';
5148
repository: repository;
52-
loads: #( 'Tests' )];
53-
49+
loads: #( 'Tests' ) ];
5450
baseline: 'Collections-Tests' with: [
5551
spec
5652
className: 'BaselineOfCollections';
5753
repository: repository;
5854
loads: #('KernelTests') ];
5955

6056

61-
baseline: 'Announcements-Core-Tests' with: [
57+
baseline: 'Announcements-Core-Tests' with: [
6258
spec
6359
className: 'BaselineOfAnnouncements';
6460
repository: repository;
65-
loads: #( 'Tests' )];
66-
67-
baseline: 'SystemFinalization' with: [
61+
loads: #( 'Tests' ) ];
62+
baseline: 'SystemFinalization' with: [
6863
spec
6964
repository: repository;
70-
loads: #( 'Tests' )];
71-
65+
loads: #( 'Tests' ) ];
7266
package: 'Announcements-Core';
7367
package: 'Collections-Abstract';
7468
package: 'Collections-DoubleLinkedList';
@@ -104,22 +98,20 @@ BaselineOfKernel >> baseline: spec [
10498
package: 'System-NumberPrinting';
10599
package: 'System-Version';
106100
package: 'Multilingual-Encodings';
107-
108101
package: 'Kernel-Tests';
109102
package: 'Kernel-CodeModel-Tests';
110-
package: 'System-Time-Tests'.
111-
112-
"The order of packages in the groups are important for the bootstrap! It define the load order."
103+
package: 'System-Time-Tests'. "The order of packages in the groups are important for the bootstrap! It define the load order."
113104
spec
114105
group: 'Core'
115-
with: { 'Announcements-Core'. 'Collections-Abstract'. 'Collections-DoubleLinkedList'. 'Collections-Native'. 'Collections-Sequenceable'.
116-
'Collections-Streams'. 'Collections-Strings'. 'Collections-Support'. 'Collections-Unordered'. 'Collections-Weak'. 'Files'. 'Hermes'. 'Kernel'. 'Kernel-CodeModel'.
117-
'Kernel-BytecodeEncoders'. 'Transcript-NonInteractive'. 'PharoBootstrap-Initialization'. 'Shift-ClassBuilder'. 'System-Announcements'.
118-
'System-CommandLineHandler'. 'System-Finalization'. 'System-Platforms'. 'System-SessionManager'.
119-
'System-Support'. 'Zinc-Character-Encoding-Core' };
106+
with:
107+
{ 'Announcements-Core'. 'Collections-Abstract'. 'Collections-DoubleLinkedList'. 'Collections-Native'. 'Collections-Sequenceable'.
108+
'Collections-Streams'. 'Collections-Strings'. 'Collections-Support'. 'Collections-Unordered'. 'Collections-Weak'.
109+
'Files'. 'Hermes'. 'Kernel'. 'Kernel-CodeModel'. 'Kernel-BytecodeEncoders'. 'Transcript-NonInteractive'.
110+
'PharoBootstrap-Initialization'. 'Shift-ClassBuilder'. 'System-Announcements'. 'System-CommandLineHandler'.
111+
'System-Finalization'. 'System-Platforms'. 'System-SessionManager'. 'System-Support'. 'Zinc-Character-Encoding-Core' };
120112
group: 'AdditionalPackages'
121-
with: { 'Clap-Core'. 'Clap-Commands-Pharo'. 'Hermes-Extensions'. 'NumberParser'. 'ReflectionMirrors-Primitives'. 'System-Time'. 'Math-Operations-Extensions'.
122-
'System-NumberPrinting'. 'System-Version'. 'Multilingual-Encodings' };
113+
with: { 'Clap-Core'. 'Clap-Commands-Pharo'. 'Hermes-Extensions'. 'NumberParser'. 'ReflectionMirrors-Primitives'.
114+
'System-Time'. 'Math-Operations-Extensions'. 'System-NumberPrinting'. 'System-Version'. 'Multilingual-Encodings' };
123115
group: 'Tests'
124116
with:
125117
{ 'Collections-Tests'. 'Kernel-Tests'. 'Kernel-CodeModel-Tests'. 'Announcements-Core-Tests'. 'System-Platforms-Tests'.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Class {
2+
#name : 'BaselineOfSystemSupport',
3+
#superclass : 'BaselineOf',
4+
#category : 'BaselineOfSystemSupport',
5+
#package : 'BaselineOfSystemSupport'
6+
}
7+
8+
{ #category : 'baselines' }
9+
BaselineOfSystemSupport >> baseline: spec [
10+
11+
<baseline>
12+
| repository |
13+
repository := self packageRepositoryURLForSpec: spec.
14+
spec for: #common do: [
15+
spec
16+
baseline: 'Collections' with: [
17+
spec
18+
repository: repository;
19+
loads: #( 'Collections-Unordered-Tests' ) ];
20+
package: 'System-Support';
21+
package: 'System-Support-Tests' with: [ spec requires: #( 'System-Support' 'Collections') ].
22+
23+
spec
24+
group: 'Core' with: { 'System-Support' };
25+
group: 'Tests' with: { 'System-Support-Tests' } ]
26+
]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Package { #name : 'BaselineOfSystemSupport' }

src/Collections-Unordered-Tests/DictionaryTest.class.st

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,11 @@ DictionaryTest >> otherCollection [
259259
DictionaryTest >> otherDictionaryClasses [
260260
"(DictionaryTest withAllSubclasses collect: [:each | each new classToBeTested]) asArray"
261261
^ {SmallDictionary. IdentityDictionary. PluggableDictionary.
262-
WeakValueDictionary. SystemEnvironment. WeakKeyDictionary. SmallIdentityDictionary.
262+
WeakValueDictionary. WeakKeyDictionary. SmallIdentityDictionary.
263263
WeakIdentityKeyDictionary. Dictionary}
264264
reject: [:each | each new species == self classToBeTested new species]
265+
266+
265267
]
266268

267269
{ #category : 'requirements' }

src/Kernel-CodeModel/CompiledMethod.class.st

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,11 @@ CompiledMethod >> codeForNoSource [
113113
^(self compiler decompileMethod: self) formattedCode
114114
]
115115

116+
{ #category : 'accessing' }
117+
CompiledMethod >> compiledMethod [
118+
^self
119+
]
120+
116121
{ #category : 'testing' }
117122
CompiledMethod >> containsHalt [
118123

src/Reflectivity/CompiledMethod.extension.st

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@ CompiledMethod >> blockNodes [
1010
^self ast blockNodes
1111
]
1212

13-
{ #category : '*Reflectivity' }
14-
CompiledMethod >> compiledMethod [
15-
^self
16-
]
17-
1813
{ #category : '*Reflectivity' }
1914
CompiledMethod >> createTwin [
2015
self reflectiveMethod: (ReflectiveMethod on: self)

src/System-Support-Tests/SystemNavigationTest.class.st

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,15 @@ SystemNavigationTest >> testAllGlobalNamesStartingWithDoCaseSensitive [
9696
{ #category : 'tests' }
9797
SystemNavigationTest >> testAllReferencesToDo [
9898
"test trying to not hard code numbers as they will be different"
99+
99100
| counterSymbol counterClass |
100101
counterSymbol := 0.
101-
SystemNavigation new allReferencesTo: #Object do: [:ref | counterSymbol := counterSymbol +1 ].
102-
self assert: counterSymbol > 10.
102+
SystemNavigation new allReferencesTo: #Object do: [ :ref | counterSymbol := counterSymbol + 1 ].
103+
self assert: counterSymbol > 0 description: ('counterSymbol : {1} has to be greater than 0' format: {counterSymbol}).
103104
counterClass := 0.
104-
SystemNavigation new allReferencesTo: Object binding do: [:ref | counterClass := counterClass +1 ].
105-
self assert: counterClass > 10.
106-
"and there are more refs to the class then to the symbol"
107-
self assert: counterClass > counterSymbol.
108-
105+
SystemNavigation new allReferencesTo: Object binding do: [ :ref | counterClass := counterClass + 1 ].
106+
self assert: counterClass > 0 description: ('counterClass : {1} has to be greater than 0' format: {counterClass}).
107+
self assert: counterClass > counterSymbol description: ('counterClass : {1} <= {2}' format: {counterClass. counterSymbol})
109108
]
110109

111110
{ #category : 'tests' }

0 commit comments

Comments
 (0)