diff --git a/docs/COVERAGE.md b/docs/COVERAGE.md index 3b4e3d3e..327ce067 100644 --- a/docs/COVERAGE.md +++ b/docs/COVERAGE.md @@ -14,25 +14,38 @@ SmalltalkCISpec { #testing : { ... #coverage : { - #packages : [ 'Packages-To-Cover.*' ], - #classes : [ #ClassToCover, #'ClassToCover class' ], - #categories : [ 'Categories-To-Cover*' ], + #packages : [ 'SomePackage', 'SomePack*' ], + #classes : [ #ClassToCover ], + #categories : [ 'SomeClassCategory', 'SomeClassCat*' ], #format : #coveralls } } } ``` + The `#coverage` dictionary can contain the following options: + - `#packages` (recommended) - - Measure coverage of all instance side methods in the provided packages + - Measure coverage of all methods in the provided packages (including extension methods) + - Items that end with a trailing `*` (or `.*`) match all packages that start with the given name - `#classes` - - Measures all methods of all provided classes (instance side) + - Measures all methods of all provided classes (from both their instance and their class sides) - `#categories` - - Measure coverage for all classes' methods as well as their meta classes' methods + - Measure coverage for all classes' and metaclasses' methods in the provided system categories (does NOT include extension methods) + - Items that end with a trailing `*` or `.*` match all packages that start with the given name - `#format` (defaults to `#coveralls`) - The output format of the Coverage data - May be either `#coveralls` or `#lcov` +If multiple of the option `#packages`, `#classes`, and `#categories` are provided, the union of all matched methods is used for coverage testing. + +*Traits* in the specified packages, classes, or categories are honored as well. +The coverage of traits is captured globally: Even if a specified trait method is used by another class that is not covered, the trait will be marked as covered. +This follows the behavior of SUnit in Squeak. + +> **Warning** +> *Traits* are currently only supported in Squeak 6.1Alpha and newer. For other Smalltalk versions, methods that are defined in a trait wil incorrectly be displayed as uncovered in coverage reports until these versions receive support for the required Traits protocol. See [#572](https://github.com/hpi-swa/smalltalkCI/pull/572) for more details. + When running smalltalkCI on TravisCI or AppVeyor with the `#coveralls` coverage format, the results will be uploaded to [Coveralls][coveralls] automatically. Make sure your repository is [added to Coveralls][coveralls_new]. @@ -51,13 +64,13 @@ Most coverage services already support uploading coverage in the LCOV format wit For the most common usecases, see these instructions: - [Inspecting coverage locally](#inspecting-coverage-locally) - [Coveralls](#coveralls) - - [Travis CI](#coveralls-%26-travis-ci) - - [GitHub actions](#coveralls-%26-github-actions) + - [Travis CI](#coveralls--travis-ci) + - [GitHub Actions](#coveralls--github-actions) - [CodeCov](#codecov) - - [Travis CI](#codecov-%26-travisci) - - [GitHub actions](#codecov-%26-github-actions) + - [Travis CI](#codecov--travisci) + - [GitHub Actions](#codecov--github-actions) - [Cobertura](#cobertura) - - [GitLab CI](#cobertura-%26-gitlabci) + - [GitLab CI](#cobertura--gitlab-ci) ### Inspecting coverage locally On Linux distributions, LCOV is available as a set of tools that can generate a coverage report as HTML/CSS files. @@ -150,7 +163,7 @@ Generally it will be: bash <(curl -s https://codecov.io/bash) ``` -#### CodeCov & TravisCI +#### CodeCov & Travis CI Add this to your `.travis.yml` ```yml after_success: diff --git a/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackageNames..st b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackageNames..st new file mode 100644 index 00000000..1a65eef3 --- /dev/null +++ b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackageNames..st @@ -0,0 +1,5 @@ +class organization +extensionMethodsForPackageNames: packageNames + + ^ packageNames gather: [:packageName | + self extensionMethodsInPackage: packageName] \ No newline at end of file diff --git a/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackages..st b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackages..st new file mode 100644 index 00000000..c104a82c --- /dev/null +++ b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackages..st @@ -0,0 +1,5 @@ +class organization +extensionMethodsForPackages: unresolvedPackageNames + + ^ self extensionMethodsForPackageNames: + (self resolvedPackageNames: unresolvedPackageNames) \ No newline at end of file diff --git a/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsInPackage..st b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsInPackage..st new file mode 100644 index 00000000..86d4be7f --- /dev/null +++ b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsInPackage..st @@ -0,0 +1,4 @@ +class organization +extensionMethodsInPackage: packageName + + ^ self platformClass extensionMethodsInPackage: packageName \ No newline at end of file diff --git a/repository/SmalltalkCI-Core.package/SmalltalkCI.class/methodProperties.json b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/methodProperties.json index 311a7892..61642e84 100644 --- a/repository/SmalltalkCI-Core.package/SmalltalkCI.class/methodProperties.json +++ b/repository/SmalltalkCI-Core.package/SmalltalkCI.class/methodProperties.json @@ -35,6 +35,9 @@ "ensureNoExistingBuildStatusFile" : "fn 11/20/2017 11:55", "escape" : "fn 9/26/2016 16:12", "explicitTestKeys" : "fn 11/13/2016 22:23", + "extensionMethodsForPackageNames:" : "ct 9/29/2022 16:57", + "extensionMethodsForPackages:" : "ct 9/29/2022 13:38", + "extensionMethodsInPackage:" : "ct 9/29/2022 13:39", "failAndQuit:" : "EstebanLorenzano 5/27/2021 21:44", "fileExists:" : "fn 11/22/2017 14:19", "fold:block:" : "fn 10/7/2016 21:26", diff --git a/repository/SmalltalkCI-Core.package/monticello.meta/version b/repository/SmalltalkCI-Core.package/monticello.meta/version index ae878158..fff8e3fe 100644 --- a/repository/SmalltalkCI-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'SmalltalkCI-Core-EstebanLorenzano.296' message 'clean two remaining variables' id '04be3ce6-0280-0d00-bf8e-d02f0115559c' date '31 May 2021' time '4:37:18.269174 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Core-mml.295' message 'The last couple of bytes of the UUID are fixed... Back to using Random with as little dependecy on things that might change as possible.' id 'c441f974-1f26-4555-8215-d648236d37a2' date '31 May 2021' time '1:27:22.435831 am' author 'mml' ancestors ((name 'SmalltalkCI-Core-mml.294' message 'Use the last 4 bytes of a UUID for the Travis ID. Using Random bears a great risk of breaking the code because Pharo and Squeak have (and still are) diverging strongly w.r.t. to the Random class.' id 'daaa04a2-34c1-4027-831a-05be17fa2b79' date '31 May 2021' time '1:10:22.395023 am' author 'mml' ancestors ((name 'SmalltalkCI-Core-mml.293' message 'Create Travis ID from Random Copying 4 bytes from the beginning of a UUID can lead to clashes when the UUID is clock based and the clock hasn''t yet advanced far enough for the next generation (happens in tests). It is cleaner to generate 2 random bytes directly using Random and then produce a hexadecimal representation.' id '7b365d25-36c3-4a28-aa7e-bd03a6e2c54d' date '31 May 2021' time '12:49:43.910095 am' author 'mml' ancestors ((name 'SmalltalkCI-Core-EstebanLorenzano.292' message '- use Smalltalk dictionary to access classes that may not be in the system - remove shadowed variables ' id '81a5a210-b77f-0d00-9442-20e900cb1d42' date '27 May 2021' time '10:08:52.076073 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Core-fn.291' message 'Use `String cr` instead of `Character cr` (#521).' id '4ea49fea-a012-4d18-a006-a896368c182b' date '17 May 2021' time '10:12:25.663103 am' author 'fn' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'SmalltalkCI-Core-ct.297' message 'Complements SmalltalkCI-Coverage-Core-ct.34 (extension methods for coverage testing).' id '40f925fc-21b7-2249-91ea-1d83b6b7a0a1' date '29 September 2022' time '4:58:30.835693 pm' author 'ct' ancestors ((name 'SmalltalkCI-Core-EstebanLorenzano.296' message 'clean two remaining variables' id '04be3ce6-0280-0d00-bf8e-d02f0115559c' date '31 May 2021' time '4:37:18.269174 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Core-mml.295' message 'The last couple of bytes of the UUID are fixed... Back to using Random with as little dependecy on things that might change as possible.' id 'c441f974-1f26-4555-8215-d648236d37a2' date '31 May 2021' time '1:27:22.435831 am' author 'mml' ancestors ((name 'SmalltalkCI-Core-mml.294' message 'Use the last 4 bytes of a UUID for the Travis ID. Using Random bears a great risk of breaking the code because Pharo and Squeak have (and still are) diverging strongly w.r.t. to the Random class.' id 'daaa04a2-34c1-4027-831a-05be17fa2b79' date '31 May 2021' time '1:10:22.395023 am' author 'mml' ancestors ((name 'SmalltalkCI-Core-mml.293' message 'Create Travis ID from Random Copying 4 bytes from the beginning of a UUID can lead to clashes when the UUID is clock based and the clock hasn''t yet advanced far enough for the next generation (happens in tests). It is cleaner to generate 2 random bytes directly using Random and then produce a hexadecimal representation.' id '7b365d25-36c3-4a28-aa7e-bd03a6e2c54d' date '31 May 2021' time '12:49:43.910095 am' author 'mml' ancestors ((name 'SmalltalkCI-Core-EstebanLorenzano.292' message '- use Smalltalk dictionary to access classes that may not be in the system - remove shadowed variables ' id '81a5a210-b77f-0d00-9442-20e900cb1d42' date '27 May 2021' time '10:08:52.076073 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Core-fn.291' message 'Use `String cr` instead of `Character cr` (#521).' id '4ea49fea-a012-4d18-a006-a896368c182b' date '17 May 2021' time '10:12:25.663103 am' author 'fn' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/cannotBeCovered..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/cannotBeCovered..st new file mode 100644 index 00000000..5f77b5eb --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/cannotBeCovered..st @@ -0,0 +1,6 @@ +helpers +cannotBeCovered: aMethodReference + "Answer true is aMethodReference is not suitable for covering, such as an abstract method or a method derived from a trait." + + ^ aMethodReference compiledMethod isAbstract + or: [self methodIsTraitMethod: aMethodReference compiledMethod "trait methods are derived from a method in a trait - only the original method is relevant for us"] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st new file mode 100644 index 00000000..12cf4bfe --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st @@ -0,0 +1,5 @@ +helpers +eventualOriginalTraitMethodFor: aCompiledMethod + + ^ (aCompiledMethod respondsTo: #eventualOriginalTraitMethod) + ifTrue: [aCompiledMethod eventualOriginalTraitMethod] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/fileNameForSelector..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/fileNameForSelector..st new file mode 100644 index 00000000..81664449 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/fileNameForSelector..st @@ -0,0 +1,27 @@ +helpers - file name specials +fileNameForSelector: selector + "Copied from MCFileTreeStCypressWriter" + ^ (selector includes: $:) + ifTrue: [ + selector + collect: [ :each | + each = $: + ifTrue: [ $. ] + ifFalse: [ each ] ] ] + ifFalse: [ + (self specials includes: selector first) + ifFalse: [ selector ] + ifTrue: [ + | output specials | + specials := self specials. + output := String new writeStream. + output nextPut: $^. + selector + do: [ :each | + output + nextPutAll: + ((specials includes: each) + ifTrue: [ specials at: each ] + ifFalse: [ each asString ]) ] + separatedBy: [ output nextPut: $. ]. + output contents ] ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/filePathFor.in..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/filePathFor.in..st index 625ea8d5..dc394675 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/filePathFor.in..st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/filePathFor.in..st @@ -1,16 +1,22 @@ helpers -filePathFor: aMethodReference in: aDirectoryName - "Generates the filename for the file where the method related to aCompiledMethod is specified in. - aDirectoryName (a String) states the subfolder in the projectDirectory where the method comes from." - | method class package instanceOrClass | - method := aMethodReference selector. +filePathFor: aMethodReference in: directoryName + "Generates the filename for the file where the method related to aMethodReference is specified in. + directoryName (a String) states the subfolder in the projectDirectory where the method comes from." + | selector class package behaviorType instanceOrClass | + selector := aMethodReference selector. class := aMethodReference actualClass. - class isMeta - ifTrue: [ instanceOrClass := 'class' ] - ifFalse: [ instanceOrClass := 'instance' ]. - package := self packageNameForClass: class. - ^ aDirectoryName, SmalltalkCI pathNameDelimiter, + package := self packageNameForMethod: aMethodReference. + behaviorType := (self packageNameForClass: class) = package + ifFalse: ['extension'] + ifTrue: + [class isTrait + ifTrue: ['trait'] + ifFalse: ['class']]. + instanceOrClass := class isMeta + ifTrue: ['class'] + ifFalse: ['instance']. + ^ directoryName, SmalltalkCI pathNameDelimiter, package, '.package', SmalltalkCI pathNameDelimiter, - class name, '.class', SmalltalkCI pathNameDelimiter, + class instanceSide name, '.', behaviorType , SmalltalkCI pathNameDelimiter, instanceOrClass, SmalltalkCI pathNameDelimiter, - (method asString replaceAll: $: with: $.), '.st' \ No newline at end of file + (self fileNameForSelector: selector), '.st' \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/initializeSpecials.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/initializeSpecials.st new file mode 100644 index 00000000..c60f7767 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/initializeSpecials.st @@ -0,0 +1,23 @@ +helpers - file name specials +initializeSpecials + "Copied from MCFileTreeStCypressWriter" + | map | + map := Dictionary new. + map + at: $+ put: 'plus'; + at: $- put: 'minus'; + at: $= put: 'equals'; + at: $< put: 'less'; + at: $> put: 'more'; + at: $% put: 'percent'; + at: $& put: 'and'; + at: $| put: 'pipe'; + at: $* put: 'star'; + at: $/ put: 'slash'; + at: $\ put: 'backslash'; + at: $~ put: 'tilde'; + at: $? put: 'wat'; + at: $, put: 'comma'; + at: $@ put: 'at'. + map keys do: [ :key | map at: (map at: key) put: key ]. + ^ map \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/isExcluded..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/isExcluded..st index eec3e8aa..b129f073 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/isExcluded..st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/isExcluded..st @@ -1,5 +1,4 @@ helpers isExcluded: aMethodReference ^ (self ignoredSelectors includes: aMethodReference selector) - or: [ aMethodReference compiledMethod isAbstract - or: [ aMethodReference compiledMethod hasLiteral: #ignoreForCoverage ]] + or: [aMethodReference compiledMethod hasLiteral: #ignoreForCoverage] diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/localSelectorsIn..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/localSelectorsIn..st new file mode 100644 index 00000000..9824c1c9 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/localSelectorsIn..st @@ -0,0 +1,4 @@ +helpers +localSelectorsIn: aClassDescription + + ^ aClassDescription localSelectors \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st new file mode 100644 index 00000000..ffc2ad45 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st @@ -0,0 +1,6 @@ +helpers +methodIsTraitMethod: aCompiledMethod + + + ^ (aCompiledMethod respondsTo: #isTraitMethod) + and: [aCompiledMethod isTraitMethod] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodReferencesFor..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodReferencesFor..st index 77bc5875..fbbb3fa9 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodReferencesFor..st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodReferencesFor..st @@ -1,5 +1,5 @@ helpers methodReferencesFor: classes ^ (classes gather: [ :cls | - cls selectors collect: [ :selector | + (self localSelectorsIn: cls) collect: [ :selector | self methodReferenceFor: cls selector: selector ]]) asOrderedCollection \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/packageNameForMethod..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/packageNameForMethod..st new file mode 100644 index 00000000..8896911a --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/packageNameForMethod..st @@ -0,0 +1,3 @@ +compatibility +packageNameForMethod: aMethodReference + self subclassResponsibility \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/specials.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/specials.st new file mode 100644 index 00000000..87c91272 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/specials.st @@ -0,0 +1,4 @@ +helpers - file name specials +specials + "Copied from MCFileTreeStCypressWriter" + ^ Specials ifNil: [ Specials := self initializeSpecials ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st index 2a3f33c1..48dfe1ed 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st @@ -1,3 +1,9 @@ helpers allMethodReferencesToCover - ^ self class methodReferencesFor: self allClassesToCover \ No newline at end of file + + | methods | + methods := self class methodReferencesFor: self allClassesToCover. + + methods := methods , self extensionMethodsForPackages asArray. + + ^ methods reject: [:method | self class cannotBeCovered: method] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/classIsTrait..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/classIsTrait..st new file mode 100644 index 00000000..f45880ea --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/classIsTrait..st @@ -0,0 +1,5 @@ +helpers +classIsTrait: aClassOrMetaClass + + ^ (aClassOrMetaClass respondsTo: #isTrait) + and: [aClassOrMetaClass isTrait] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st new file mode 100644 index 00000000..5a8749ac --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st @@ -0,0 +1,6 @@ +helpers +eventualUserReferencesOf: methodReferenceInATrait + + ^ (methodReferenceInATrait respondsTo: #eventualUserReferences) + ifTrue: [methodReferenceInATrait eventualUserReferences] + ifFalse: [#()] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUsersForTraitsIn..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUsersForTraitsIn..st new file mode 100644 index 00000000..d3fccc6a --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUsersForTraitsIn..st @@ -0,0 +1,5 @@ +helpers +eventualUsersForTraitsIn: methods + + ^ ((methods select: [:each | self classIsTrait: each actualClass]) + gather: [:each | self eventualUserReferencesOf: each]) \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/extensionMethodsForPackages.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/extensionMethodsForPackages.st new file mode 100644 index 00000000..5b8102ed --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/extensionMethodsForPackages.st @@ -0,0 +1,5 @@ +helpers +extensionMethodsForPackages + + ^ self coverageAt: #packages do: [:packageNames | + SmalltalkCI extensionMethodsForPackages: packageNames] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/finishUp.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/finishUp.st index 0b20d244..a38625f5 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/finishUp.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/finishUp.st @@ -2,5 +2,6 @@ setup finishUp coverageWrappers do: [ :wrapper | wrapper uninstall ]. coveredMethods := (coverageWrappers - select: [ :each | each hasRun ]) + select: [ :each | each hasRun + and: [(self class methodIsTraitMethod: each) not "trait methods' wrappers update their original method wrapper automatically, see SCICoverageWrapper>>#mark"] ]) collect: [ :each | each reference ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/startUp.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/startUp.st index bee6769d..6feed749 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/startUp.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/startUp.st @@ -1,8 +1,12 @@ setup startUp - | methods | + | methods methodsForWrappers | methods := self allMethodReferencesToCover. excludedMethods := methods select: [ :method | self class isExcluded: method ]. includedMethods := methods copyWithoutAll: excludedMethods. - coverageWrappers := includedMethods collect: [ :each | SCICoverageWrapper on: each ]. + + "Methods in traits are copied to their users. Wrap these copies as well to catch all evaluations of the original trait method." + methodsForWrappers := includedMethods , (self eventualUsersForTraitsIn: methods). + SCICoverageWrapper updateCodeCoverageClass. + coverageWrappers := methodsForWrappers collect: [ :each | SCICoverageWrapper on: each ]. coverageWrappers do: [ :each | each install ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json index f1224a8f..14f5d7d4 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -1,25 +1,34 @@ { "class" : { + "cannotBeCovered:" : "ct 9/29/2022 19:59", "classNamesNotUnderTest" : "fn 11/22/2017 18:05", "coverallsDictFor:in:projectDirectory:coverageValue:" : "fn 8/6/2020 13:32", - "filePathFor:in:" : "fn 11/22/2017 15:02", + "eventualOriginalTraitMethodFor:" : "ct 9/29/2022 21:59", + "fileNameForSelector:" : "ct 9/9/2022 22:47", + "filePathFor:in:" : "ct 9/10/2022 02:03", "ignoredPackages" : "fn 11/26/2017 18:26", "ignoredSelectors" : "fn 11/22/2017 11:23", - "isExcluded:" : "fn 11/22/2017 12:51", + "initializeSpecials" : "ct 9/9/2022 22:48", + "isExcluded:" : "ct 9/29/2022 13:27", "linesOf:" : "fn 11/22/2017 14:41", + "localSelectorsIn:" : "ct 9/30/2022 13:50", "md5Of:" : "fn 11/22/2017 14:42", + "methodIsTraitMethod:" : "ct 9/29/2022 22:34", "methodReferenceFor:selector:" : "fn 10/8/2016 15:10", - "methodReferencesFor:" : "fn 11/22/2017 13:46", + "methodReferencesFor:" : "ct 9/30/2022 13:41", "packageNameForClass:" : "fn 10/8/2016 15:11", + "packageNameForMethod:" : "ct 9/9/2022 22:37", "relativeUnixPathOf:to:" : "fn 8/6/2020 13:32", "run:spec:in:" : "smalltalkCI 8/26/2020 14:08", + "specials" : "ct 9/9/2022 22:48", "theNonMetaClassOf:" : "GabrielOmarCotelli 2/20/2019 18:02" }, "instance" : { "allClassesFromSpec" : "fn 11/26/2017 23:23", "allClassesNotUnderTestOf:" : "GabrielOmarCotelli 2/20/2019 18:00", "allClassesToCover" : "fn 11/26/2017 23:28", - "allMethodReferencesToCover" : "fn 11/22/2017 13:29", + "allMethodReferencesToCover" : "ct 9/29/2022 13:43", "allPackagesUnderTestOf:" : "GabrielOmarCotelli 2/20/2019 18:00", + "classIsTrait:" : "ct 9/29/2022 13:15", "classesAndMetaclassesOf:" : "GabrielOmarCotelli 2/20/2019 18:00", "classesToCover" : "fn 11/22/2017 13:33", "classesToCoverForCategories" : "fn 11/22/2017 12:40", @@ -30,12 +39,15 @@ "coverallsSourceFilesIn:" : "fn 11/22/2017 14:47", "coveredMethods" : "fn 11/22/2017 13:58", "directoryFor:in:" : "fn 11/22/2017 14:35", + "eventualUserReferencesOf:" : "ct 9/29/2022 21:33", + "eventualUsersForTraitsIn:" : "ct 9/29/2022 13:49", "excludedMethods" : "fn 11/22/2017 13:58", "exportResultsIn:" : "smalltalkCI 8/26/2020 14:07", - "finishUp" : "fn 11/22/2017 13:57", + "extensionMethodsForPackages" : "ct 9/29/2022 13:37", + "finishUp" : "ct 9/29/2022 13:57", "includedMethods" : "fn 11/22/2017 13:58", "run:" : "fn 11/30/2017 14:42", - "startUp" : "fn 3/26/2018 14:57", + "startUp" : "ct 9/30/2022 14:47", "theMetaClassOf:" : "GabrielOmarCotelli 2/20/2019 17:58", "theNonMetaClassOf:" : "GabrielOmarCotelli 2/20/2019 18:02", "uncoveredMethods" : "fn 11/22/2017 14:30" } } diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/properties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/properties.json index b79247e1..e70f2160 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/properties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/properties.json @@ -3,7 +3,7 @@ "classinstvars" : [ ], "classvars" : [ - ], + "Specials" ], "commentStamp" : "", "instvars" : [ "includedMethods", diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/class/updateCodeCoverageClass.st b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/class/updateCodeCoverageClass.st new file mode 100644 index 00000000..997a9db6 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/class/updateCodeCoverageClass.st @@ -0,0 +1,4 @@ +accessing +updateCodeCoverageClass + + CodeCoverageClass := SmalltalkCI codeCoverageClass. \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st index 66e8c2cc..f121bad0 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st @@ -1,3 +1,11 @@ private mark - hasRun := true \ No newline at end of file + hasRun := true. + + (CodeCoverageClass methodIsTraitMethod: method) ifTrue: + ["update original (shared) trait method" + (CodeCoverageClass eventualOriginalTraitMethodFor: method) ifNotNil: [:original | + | installedOriginal | + installedOriginal := original methodReference compiledMethod. + (installedOriginal respondsTo: #mark) ifTrue: + [installedOriginal mark; uninstall]]]. \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/respondsTo..st b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/respondsTo..st new file mode 100644 index 00000000..e6eed99b --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/respondsTo..st @@ -0,0 +1,5 @@ +private +respondsTo: aMessage + + ^ (self class canUnderstand: aMessage) + or: [method respondsTo: aMessage] \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json index 56a2e799..bd145928 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json @@ -1,13 +1,15 @@ { "class" : { - "on:" : "fn 3/26/2018 14:55" }, + "on:" : "fn 3/26/2018 14:55", + "updateCodeCoverageClass" : "ct 9/30/2022 14:46" }, "instance" : { "doesNotUnderstand:" : "fn 3/26/2018 14:55", "flushCache" : "fn 3/26/2018 14:55", "hasRun" : "fn 3/26/2018 14:55", "initializeOn:" : "fn 3/26/2018 14:55", "install" : "fn 3/26/2018 14:55", - "mark" : "fn 3/26/2018 14:55", + "mark" : "ct 9/30/2022 14:46", "reference" : "fn 3/26/2018 14:55", + "respondsTo:" : "ct 9/29/2022 13:55", "run:with:in:" : "fn 3/26/2018 14:55", "uninstall" : "fn 3/26/2018 14:55" } } diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/properties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/properties.json index 704f2bb4..a473d1ff 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/properties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/properties.json @@ -3,7 +3,7 @@ "classinstvars" : [ ], "classvars" : [ - ], + "CodeCoverageClass" ], "commentStamp" : "", "instvars" : [ "hasRun", diff --git a/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version b/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version index 86dab6c8..db0066ee 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version @@ -1 +1,5 @@ -(name 'SmalltalkCI-Coverage-Core-EstebanLorenzano.32' message '- use Smalltalk dictionary to access classes that may not be in the system - remove shadowed variables ' id '822b391d-b77f-0d00-94b3-e19400cb1d42' date '27 May 2021' time '10:12:23.267415 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Coverage-Core-fn.31' message 'Use `String cr` instead of `Character cr` (#521).' id 'db74ec6f-0dd2-47ee-8344-e9e71c2ffd0a' date '17 May 2021' time '10:12:19.530718 am' author 'fn' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'SmalltalkCI-Coverage-Core-ct.36' message 'Fixes handling of trait methods for coverage testing. Depends on Traits-eventualUsers.3.cs and complements SUnit coverage for traits.2.cs. [1] The implementation mostly follows the design of SUnit coverage for traits.2.cs [1], this implementation for smalltalkCI also makes the following changes: * Moves exclusion of methods derived from traits up from Pharo''s overrides of #allClassesToCover to new SCICodeCoverage class>>#cannotBeCovered: * Moves check for abstract methods from SCICodeCoverage class>>#isExcluded: to SCICodeCoverage class>>#cannotBeCovered:. Consequently, abstract methods will no longer will be displayed as "ignored" but hidden at all from the coverage report. [1] https://lists.squeakfoundation.org/pipermail/squeak-dev/2022-September/222291.html' id 'e6e19611-556c-c14d-818c-e17e0238798a' date '29 September 2022' time '8:01:30.414778 pm' author 'ct' ancestors ((name 'SmalltalkCI-Coverage-Core-ct.34' message 'Honors extension methods of selected packages for coverage testing.' id 'fcd4332a-1256-444d-a7fd-772547251dae' date '29 September 2022' time '4:55:48.174693 pm' author 'ct' ancestors ((name 'SmalltalkCI-Coverage-Core-ct.33' message 'Fixes file paths for coverage reports. Proper handling of class-side methods, extension methods, trait methods, and special message selectors. + +Resolves https://github.com/hpi-swa/smalltalkCI/issues/362.' id '52af57ec-b49f-3541-8ac1-deb4131c9248' date '9 September 2022' time '11:56:39.340395 pm' author 'ct' ancestors ((name 'SmalltalkCI-Coverage-Core-EstebanLorenzano.32' message '- use Smalltalk dictionary to access classes that may not be in the system +- remove shadowed variables +' id '822b391d-b77f-0d00-94b3-e19400cb1d42' date '27 May 2021' time '10:12:23.267415 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Coverage-Core-fn.31' message 'Use `String cr` instead of `Character cr` (#521).' id 'db74ec6f-0dd2-47ee-8344-e9e71c2ffd0a' date '17 May 2021' time '10:12:19.530718 am' author 'fn' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/instance/sciTestSomeExtensionMethod.st b/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/instance/sciTestSomeExtensionMethod.st new file mode 100644 index 00000000..798c26a3 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/instance/sciTestSomeExtensionMethod.st @@ -0,0 +1,4 @@ +*SmalltalkCI-Coverage-Tests-test-methods +sciTestSomeExtensionMethod + + ^ nil \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/methodProperties.json b/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/methodProperties.json new file mode 100644 index 00000000..a1a74ef4 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "sciTestSomeExtensionMethod" : "ct 9/10/2022 01:54" } } diff --git a/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/properties.json b/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/properties.json new file mode 100644 index 00000000..3d3b9ec4 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/Object.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "Object" } diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/assertWriterUsesFormat.forSpec..st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/assertWriterUsesFormat.forSpec..st index f1cffa8d..757068bd 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/assertWriterUsesFormat.forSpec..st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/assertWriterUsesFormat.forSpec..st @@ -1,4 +1,4 @@ -testing-writer +tests-writer assertWriterUsesFormat: coverageFormat forSpec: aSpec |writer| diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverageHelpers.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverageHelpers.st index e3b31236..4154650f 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverageHelpers.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverageHelpers.st @@ -1,4 +1,4 @@ -testing +tests testCoverageHelpers self platformSupportsCoverageTesting ifFalse: [ ^ self ]. diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverallsWriterClass.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverallsWriterClass.st index f6e20744..2720fc49 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverallsWriterClass.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testCoverallsWriterClass.st @@ -1,4 +1,4 @@ -testing-writer +tests-writer testCoverallsWriterClass self platformSupportsCoverageTesting ifFalse: [^ self]. diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testDefaultWriterClass.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testDefaultWriterClass.st index 22b35d5c..0c852b27 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testDefaultWriterClass.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testDefaultWriterClass.st @@ -1,4 +1,4 @@ -testing-writer +tests-writer testDefaultWriterClass self platformSupportsCoverageTesting ifFalse: [^ self]. diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testEndToEnd.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testEndToEnd.st index 5d63a85b..0513189e 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testEndToEnd.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testEndToEnd.st @@ -1,4 +1,4 @@ -testing +tests testEndToEnd | block coverage | self platformSupportsCoverageTesting ifFalse: [ ^ self ]. @@ -17,7 +17,9 @@ testEndToEnd self assert: (SCICodeCoverageTestTarget>>#someInstanceMethod) methodReference equals: coverage coveredMethods first. - self assert: (coverage excludedMethods includes: + self deny: (coverage includedMethods includes: + (SCICodeCoverageTestTarget>>#someAbstractInstanceMethod) methodReference). + self deny: (coverage excludedMethods includes: (SCICodeCoverageTestTarget>>#someAbstractInstanceMethod) methodReference). self assert: (coverage includedMethods anySatisfy: [ :ea | ea actualClass == SCICodeCoverageTestTargetOther]). diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testFilePath.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testFilePath.st new file mode 100644 index 00000000..edf27756 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testFilePath.st @@ -0,0 +1,18 @@ +tests +testFilePath + + + | projectDir | + projectDir := 'repository'. + {SCICodeCoverageTestTarget>>#someInstanceMethod. 'repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/instance/someInstanceMethod.st'. + SCICodeCoverageTestTarget class>>#someClassMethod. 'repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/class/someClassMethod.st'. + Object>>#sciTestSomeExtensionMethod. 'repository/SmalltalkCI-Coverage-Tests.package/Object.extension/instance/sciTestSomeExtensionMethod.st'. + TSCICodeCoverageTestTarget>>#someTraitInstanceMethod. 'repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/instance/someTraitInstanceMethod.st'. + TSCICodeCoverageTestTarget classTrait>>#someTraitClassMethod. 'repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/class/someTraitClassMethod.st'. + SCICodeCoverageTestTarget>>#'%&*+,|-~/<=>?@'. 'repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/instance/^percent.and.star.plus.comma.pipe.minus.tilde.slash.less.equals.more.wat.at.st'} + pairsDo: [:compiledMethod :expectedPath | + | actualPath | + actualPath := SmalltalkCI codeCoverageClass + filePathFor: compiledMethod methodReference + in: projectDir. + self assert: (expectedPath copyReplaceAll: '/' with: SmalltalkCI pathNameDelimiter) equals: actualPath]. \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovEndToEnd.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovEndToEnd.st index 08c08b0a..f29f8535 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovEndToEnd.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovEndToEnd.st @@ -1,4 +1,4 @@ -testing +tests testLcovEndToEnd | fileContents projDir | self platformSupportsCoverageTesting ifFalse: [ ^ self ]. diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovWriterClass.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovWriterClass.st index 1d5c7829..8d887638 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovWriterClass.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testLcovWriterClass.st @@ -1,4 +1,4 @@ -testing-writer +tests-writer testLcovWriterClass self platformSupportsCoverageTesting ifFalse: [^ self]. diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testMethodReferences.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testMethodReferences.st index 9879fd3d..965bf2db 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testMethodReferences.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testMethodReferences.st @@ -1,9 +1,9 @@ -testing +tests testMethodReferences | methods | self platformSupportsCoverageTesting ifFalse: [ ^ self ]. methods := SmalltalkCI codeCoverageClass methodReferencesFor: { SCICodeCoverageTestTarget }. - self assert: 2 equals: methods size. + self assert: 3 equals: methods size. methods := SmalltalkCI codeCoverageClass methodReferencesFor: { SCICodeCoverageTestTarget class }. - self assert: 4 equals: methods size \ No newline at end of file + self assert: 4 <= methods size \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testUnknownWriterClass.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testUnknownWriterClass.st index 46ab1524..8fb31632 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testUnknownWriterClass.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testUnknownWriterClass.st @@ -1,4 +1,4 @@ -testing-writer +tests-writer testUnknownWriterClass self platformSupportsCoverageTesting ifFalse: [^ self]. diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json index 633d1709..9f48f8d0 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json @@ -14,8 +14,9 @@ "testCoverageHelpers" : "fn 11/22/2017 14:43", "testCoverallsWriterClass" : "smalltalkCI 8/28/2020 14:17", "testDefaultWriterClass" : "smalltalkCI 8/28/2020 14:17", - "testEndToEnd" : "fn 12/5/2018 20:26", - "testLcovEndToEnd" : "smalltalkCI 9/2/2020 17:48", + "testEndToEnd" : "ct 9/30/2022 13:23", + "testFilePath" : "ct 9/10/2022 02:24", + "testLcovEndToEnd" : "ct 9/9/2022 19:04", "testLcovWriterClass" : "smalltalkCI 8/28/2020 14:16", - "testMethodReferences" : "fn 11/22/2017 14:39", + "testMethodReferences" : "ct 9/30/2022 13:51", "testUnknownWriterClass" : "smalltalkCI 8/28/2020 14:22" } } diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/instance/^percent.and.star.plus.comma.pipe.minus.tilde.slash.less.equals.more.wat.at.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/instance/^percent.and.star.plus.comma.pipe.minus.tilde.slash.less.equals.more.wat.at.st new file mode 100644 index 00000000..81e88138 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/instance/^percent.and.star.plus.comma.pipe.minus.tilde.slash.less.equals.more.wat.at.st @@ -0,0 +1,5 @@ +test-methods +%&*+,|-~/<=>?@ operand + "deliberate special character salad" + + ^ {operand} \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/methodProperties.json b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/methodProperties.json index 905ccc75..8d1f6704 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/methodProperties.json @@ -5,5 +5,6 @@ "someAbstractClassMethod" : "fn 11/22/2017 11:44", "someClassMethod" : "fn 11/22/2017 11:44" }, "instance" : { + "%&*+,|-~/<=>?@" : "ct 9/9/2022 19:33", "someAbstractInstanceMethod" : "fn 11/22/2017 11:45", "someInstanceMethod" : "fn 11/22/2017 11:44" } } diff --git a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/properties.json b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/properties.json index 1a8f2842..0badde2e 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/properties.json +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/properties.json @@ -2,6 +2,7 @@ "category" : "SmalltalkCI-Coverage-Tests", "classinstvars" : [ ], + "classtraitcomposition" : "TSCICodeCoverageTestTarget classTrait", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Object", + "traitcomposition" : "TSCICodeCoverageTestTarget", "type" : "normal" } diff --git a/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/README.md b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/class/someTraitClassMethod.st b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/class/someTraitClassMethod.st new file mode 100644 index 00000000..0f77a118 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/class/someTraitClassMethod.st @@ -0,0 +1,4 @@ +test-methods +someTraitClassMethod + + ^ true \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/instance/someTraitInstanceMethod.st b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/instance/someTraitInstanceMethod.st new file mode 100644 index 00000000..02fb7561 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/instance/someTraitInstanceMethod.st @@ -0,0 +1,4 @@ +test-methods +someTraitInstanceMethod + + ^ true \ No newline at end of file diff --git a/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/methodProperties.json b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/methodProperties.json new file mode 100644 index 00000000..15dfead3 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "someTraitClassMethod" : "ct 9/9/2022 22:27" }, + "instance" : { + "someTraitInstanceMethod" : "ct 9/9/2022 22:27" } } diff --git a/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/properties.json b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/properties.json new file mode 100644 index 00000000..160e3f0f --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/properties.json @@ -0,0 +1,4 @@ +{ + "category" : "SmalltalkCI-Coverage-Tests", + "commentStamp" : "", + "name" : "TSCICodeCoverageTestTarget" } diff --git a/repository/SmalltalkCI-Coverage-Tests.package/monticello.meta/version b/repository/SmalltalkCI-Coverage-Tests.package/monticello.meta/version index 482b27b1..a581eab7 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/monticello.meta/version +++ b/repository/SmalltalkCI-Coverage-Tests.package/monticello.meta/version @@ -1 +1 @@ -(name 'SmalltalkCI-Coverage-Tests-smalltalkCI.12' message 'Refactor testLcovEndToEnd to also test file IO' id '3a5e1896-a697-4bc8-af19-fd2652aadb64' date '2 September 2020' time '5:50:06.295616 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.11' message 'Use platform independent paths in LCOV testing' id 'c515c57b-1c39-4572-803a-ba6446a0e6d7' date '2 September 2020' time '3:40:46.364102 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.10' message 'Use Unix line endings in SCILcovWriter' id '719f6ccf-1334-4777-a9a2-7779c4cd9677' date '28 August 2020' time '5:19:11.123009 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.9' message 'Add test for nil check in Lcov writer' id 'aa72ae59-6353-4d89-b99e-2369ebc4e805' date '28 August 2020' time '4:56:48.530272 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.8' message 'Fix typo' id 'a940817b-abc4-46de-8654-d42acd3deceb' date '28 August 2020' time '4:51:38.72868 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.7' message 'Add endToEnd-Test for SCILcovWriter' id '27597191-0dcb-48f6-a11a-04be66d908a8' date '28 August 2020' time '4:37:14.330195 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.6' message 'Add tests for coverage writer selection.' id 'e59696dd-3231-4a2b-8023-93ca5d305ee6' date '28 August 2020' time '3:05:08.81263 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.5' message 'Skip SCICodeCoverageTest>>testEndToEnd when running on Pharo-6.0 (see #331).' id 'e0a09380-ac0e-4706-af1f-3c3358f42c4d' date '5 December 2018' time '8:27:58.951 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.4' message 'Update endToEnd test' id '6271495a-f8aa-4285-87c3-d8c5df540afd' date '30 November 2017' time '1:56:14.112 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.3' message 'Remove SCICodeCoverageTest class>>classNamesNotUnderTest' id '6d5e8b1a-bdfa-4764-b1d7-471452d07aea' date '22 November 2017' time '6:06:47.644 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.2' message 'Edit coverage targets' id 'a1724700-3a85-4481-9a31-f4c5d53ff8b2' date '22 November 2017' time '6:04:42.4 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.1' message 'Add tests package for code coverage.' id '06abf490-b686-497a-9c8f-cff2fadcda92' date '22 November 2017' time '5:52:06.223 pm' author 'fn' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) +(name 'SmalltalkCI-Coverage-Tests-ct.13' message 'Complements SmalltalkCI-Coverage-Core-ct.33 (fixes file paths for coverage reports).' id '02e83c28-2f81-934b-9730-73ebd620d023' date '10 September 2022' time '12:01:47.186395 am' author 'ct' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.12' message 'Refactor testLcovEndToEnd to also test file IO' id '3a5e1896-a697-4bc8-af19-fd2652aadb64' date '2 September 2020' time '5:50:06.295616 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.11' message 'Use platform independent paths in LCOV testing' id 'c515c57b-1c39-4572-803a-ba6446a0e6d7' date '2 September 2020' time '3:40:46.364102 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.10' message 'Use Unix line endings in SCILcovWriter' id '719f6ccf-1334-4777-a9a2-7779c4cd9677' date '28 August 2020' time '5:19:11.123009 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.9' message 'Add test for nil check in Lcov writer' id 'aa72ae59-6353-4d89-b99e-2369ebc4e805' date '28 August 2020' time '4:56:48.530272 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.8' message 'Fix typo' id 'a940817b-abc4-46de-8654-d42acd3deceb' date '28 August 2020' time '4:51:38.72868 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.7' message 'Add endToEnd-Test for SCILcovWriter' id '27597191-0dcb-48f6-a11a-04be66d908a8' date '28 August 2020' time '4:37:14.330195 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-smalltalkCI.6' message 'Add tests for coverage writer selection.' id 'e59696dd-3231-4a2b-8023-93ca5d305ee6' date '28 August 2020' time '3:05:08.81263 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.5' message 'Skip SCICodeCoverageTest>>testEndToEnd when running on Pharo-6.0 (see #331).' id 'e0a09380-ac0e-4706-af1f-3c3358f42c4d' date '5 December 2018' time '8:27:58.951 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.4' message 'Update endToEnd test' id '6271495a-f8aa-4285-87c3-d8c5df540afd' date '30 November 2017' time '1:56:14.112 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.3' message 'Remove SCICodeCoverageTest class>>classNamesNotUnderTest' id '6d5e8b1a-bdfa-4764-b1d7-471452d07aea' date '22 November 2017' time '6:06:47.644 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.2' message 'Edit coverage targets' id 'a1724700-3a85-4481-9a31-f4c5d53ff8b2' date '22 November 2017' time '6:04:42.4 pm' author 'fn' ancestors ((name 'SmalltalkCI-Coverage-Tests-fn.1' message 'Add tests package for code coverage.' id '06abf490-b686-497a-9c8f-cff2fadcda92' date '22 November 2017' time '5:52:06.223 pm' author 'fn' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/isExcluded..st b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/isExcluded..st new file mode 100644 index 00000000..c590b7df --- /dev/null +++ b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/isExcluded..st @@ -0,0 +1,5 @@ +helpers +isExcluded: aMethodReference + + ^ ( super isExcluded: aMethodReference ) + or: [ aMethodReference compiledMethod refersToLiteral: #ignoreForCoverage ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/packageNameForMethod..st b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/packageNameForMethod..st new file mode 100644 index 00000000..9b5e114e --- /dev/null +++ b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/packageNameForMethod..st @@ -0,0 +1,3 @@ +compatibility +packageNameForMethod: aMethodReference + ^ ((Smalltalk at: #RPackageOrganizer) default packageDefiningOrExtendingMethod: aMethodReference compiledMethod) packageName \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/instance/allClassesToCover.st b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/instance/allClassesToCover.st deleted file mode 100644 index f506f509..00000000 --- a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/instance/allClassesToCover.st +++ /dev/null @@ -1,5 +0,0 @@ -accessing -allClassesToCover - - ^ allClassesToCover - ifNil: [ allClassesToCover := ( super allClassesToCover reject: #isTrait ) asArray ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json index fcb32c5c..7f791c38 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json @@ -1,8 +1,10 @@ { "class" : { + "isExcluded:" : "ct 9/30/2022 14:43", "linesOf:" : "GOC 10/3/2019 12:33", "md5Of:" : "GOC 10/3/2019 12:33", "methodReferenceFor:selector:" : "GOC 10/3/2019 12:33", - "packageNameForClass:" : "GOC 10/3/2019 12:33" }, + "packageNameForClass:" : "GOC 10/3/2019 12:33", + "packageNameForMethod:" : "ct 9/10/2022 00:28" }, "instance" : { - "allClassesToCover" : "GOC 10/3/2019 12:33" } } + } } diff --git a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/properties.json b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/properties.json index 17f7573e..c86c7448 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/properties.json +++ b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/properties.json @@ -6,7 +6,7 @@ ], "commentStamp" : "", "instvars" : [ - "allClassesToCover" ], + ], "name" : "SCIPharo34CodeCoverage", "pools" : [ ], diff --git a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/class/extensionMethodsInPackage..st b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/class/extensionMethodsInPackage..st new file mode 100644 index 00000000..ca69e2d9 --- /dev/null +++ b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/class/extensionMethodsInPackage..st @@ -0,0 +1,4 @@ +class organization +extensionMethodsInPackage: packageName + + ^ (self packageNamed: packageName ifAbsent: [^ #()]) extensionMethods \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/methodProperties.json b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/methodProperties.json index 0000e10e..2493ffb0 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/methodProperties.json +++ b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/methodProperties.json @@ -6,6 +6,7 @@ "classesInPackage:" : "fn 11/23/2016 11:33", "deleteFile:" : "fn 10/16/2016 15:56", "deprecationWarning" : "GOC 10/3/2019 10:26", + "extensionMethodsInPackage:" : "ct 9/29/2022 17:00", "fileExists:" : "fn 4/14/2016 00:56", "forceNewFileNamed:do:" : "EstebanLorenzano 5/27/2021 21:49", "getAuthor" : "fn 6/13/2016 13:49", diff --git a/repository/SmalltalkCI-Pharo-Core.package/monticello.meta/version b/repository/SmalltalkCI-Pharo-Core.package/monticello.meta/version index 29a95a95..4b226f3c 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Pharo-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'SmalltalkCI-Pharo-Core-fn.1570035225' message 'Add classes for Pharo 10 support.' id '8e8da347-2fb2-41fc-b05c-0f2226ec6dd3' date '22 July 2021' time '12:12:55.712035 pm' author 'fn' ancestors ((name 'SmalltalkCI-Pharo-Core-EstebanLorenzano.1570035224' message '- use Smalltalk dictionary to access classes that may not be in the system - remove shadowed variables ' id '5c2ffc1d-b77f-0d00-9501-5f3600cb1d42' date '27 May 2021' time '10:12:36.047886 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Pharo-Core-maxmattone.1570035223' message 'update json meta data' id '84bd31f0-517c-0d00-9176-f72709b43601' date '14 April 2021' time '5:14:21.225527 pm' author 'maxmattone' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'SmalltalkCI-Pharo-Core-ct.1664474479' message 'Complements SmalltalkCI-Coverage-Core-ct.36 (fixes handling of trait methods for coverage testing).' id '815342b4-6787-f342-beab-13d3061e63d6' date '29 September 2022' time '8:01:29.540778 pm' author 'ct' ancestors ((name 'SmalltalkCI-Pharo-Core-ct.1664463567' message 'Complements SmalltalkCI-Coverage-Core-ct.34 (extension methods for coverage testing).' id '7873ac8e-944d-1141-ac61-026e8d1c4b2a' date '29 September 2022' time '5:00:50.401693 pm' author 'ct' ancestors ((name 'SmalltalkCI-Pharo-Core-ct.1664439708' message 'Complements SmalltalkCI-Coverage-Core-ct.33 (fixes file paths for coverage reports).' id '8d989861-7688-d545-9792-c6a3f58be21f' date '29 September 2022' time '12:22:39.826693 pm' author 'ct' ancestors ((name 'SmalltalkCI-Pharo-Core-fn.1570035225' message 'Add classes for Pharo 10 support.' id '8e8da347-2fb2-41fc-b05c-0f2226ec6dd3' date '22 July 2021' time '12:12:55.712035 pm' author 'fn' ancestors ((name 'SmalltalkCI-Pharo-Core-EstebanLorenzano.1570035224' message '- use Smalltalk dictionary to access classes that may not be in the system - remove shadowed variables ' id '5c2ffc1d-b77f-0d00-9501-5f3600cb1d42' date '27 May 2021' time '10:12:36.047886 pm' author 'EstebanLorenzano' ancestors ((name 'SmalltalkCI-Pharo-Core-maxmattone.1570035223' message 'update json meta data' id '84bd31f0-517c-0d00-9176-f72709b43601' date '14 April 2021' time '5:14:21.225527 pm' author 'maxmattone' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/class/packageNameForMethod..st b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/class/packageNameForMethod..st new file mode 100644 index 00000000..9b5e114e --- /dev/null +++ b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/class/packageNameForMethod..st @@ -0,0 +1,3 @@ +compatibility +packageNameForMethod: aMethodReference + ^ ((Smalltalk at: #RPackageOrganizer) default packageDefiningOrExtendingMethod: aMethodReference compiledMethod) packageName \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/instance/allClassesToCover.st b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/instance/allClassesToCover.st deleted file mode 100644 index 08962a7b..00000000 --- a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/instance/allClassesToCover.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -allClassesToCover - ^ allClassesToCover ifNil: [ allClassesToCover := (super allClassesToCover reject: #isTrait) asArray ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/methodProperties.json b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/methodProperties.json index e9f4d449..d192c4b1 100644 --- a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/methodProperties.json @@ -6,7 +6,6 @@ "coverallsSourceFilesIn:" : "smalltalkCI 4/9/2018 10:59", "finishUp" : "GabrielOmarCotelli 4/6/2018 18:48", "tonelCoverallsSourceFilesIn:" : "smalltalkCI 4/9/2018 11:01", - "allClassesToCover" : "GabrielOmarCotelli 8/25/2018 11:27", "tonelMethodCoverageStatusFor:" : "GabrielOmarCotelli 4/17/2018 21:13", "tonelCoverageFor:in:" : "smalltalkCI 4/9/2018 10:55", "tonelCoverallsSourceFileFor:in:" : "smalltalkCI 4/9/2018 10:45", @@ -21,6 +20,7 @@ "linesOf:" : "fn 11/22/2017 14:41", "filePathFor:in:" : "GabrielOmarCotelli 4/6/2018 18:55", "packageNameForClass:" : "fn 10/8/2016 15:12", + "packageNameForMethod:" : "ct 9/10/2022 00:28", "theNonMetaClassOf:" : "GabrielOmarCotelli 2/20/2019 18:03" } } \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/properties.json b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/properties.json index 82561a92..1b9aa8b4 100644 --- a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/properties.json +++ b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/properties.json @@ -6,7 +6,6 @@ "pools" : [ ], "classvars" : [ ], "instvars" : [ - "allClassesToCover", "includedMethodsByClassName", "coveredMethodsByClassName" ], diff --git a/repository/SmalltalkCI-Pharo-Coverage-Core.package/monticello.meta/version b/repository/SmalltalkCI-Pharo-Coverage-Core.package/monticello.meta/version index 5a1f7473..b865bb88 100644 --- a/repository/SmalltalkCI-Pharo-Coverage-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Pharo-Coverage-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'SmalltalkCI-Pharo-Coverage-Core-smalltalkCI.2' message 'Remove unused methods from SCIPharoCodeCoverage' id 'f0adff44-3d6a-0d00-bc05-31e804d1178e' date '27 August 2020' time '3:01:20.394849 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Coverage-Core-GOC.1' message 'Adapt the baseline to exclude coverage support in Pharo 3/4' id '1edc46a1-6250-0d00-8dbc-a49004c51116' date '3 October 2019' time '9:40:40.032391 am' author 'GOC' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'SmalltalkCI-Pharo-Coverage-Core-ct.5' message 'Complements SmalltalkCI-Coverage-Core-ct.36 (fixes handling of trait methods for coverage testing).' id '475672d9-e570-2b45-bc67-7366d7edf22d' date '29 September 2022' time '8:01:58.717778 pm' author 'ct' ancestors ((name 'SmalltalkCI-Pharo-Coverage-Core-ct.4' message 'Complements SmalltalkCI-Coverage-Core-ct.34 (extension methods for coverage testing).' id '4ca9372a-a72f-9d45-bb53-a40b20cf6298' date '29 September 2022' time '5:01:27.462693 pm' author 'ct' ancestors ((name 'SmalltalkCI-Pharo-Coverage-Core-ct.3' message 'Complements SmalltalkCI-Coverage-Core-ct.33 (fixes file paths for coverage reports).' id '5316991e-a767-e348-9d9c-5832cb0c431e' date '29 September 2022' time '12:07:10.080693 pm' author 'ct' ancestors ((name 'SmalltalkCI-Pharo-Coverage-Core-smalltalkCI.2' message 'Remove unused methods from SCIPharoCodeCoverage' id 'f0adff44-3d6a-0d00-bc05-31e804d1178e' date '27 August 2020' time '3:01:20.394849 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Coverage-Core-GOC.1' message 'Adapt the baseline to exclude coverage support in Pharo 3/4' id '1edc46a1-6250-0d00-8dbc-a49004c51116' date '3 October 2019' time '9:40:40.032391 am' author 'GOC' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/isExcluded..st b/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/isExcluded..st new file mode 100644 index 00000000..708b5bbb --- /dev/null +++ b/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/isExcluded..st @@ -0,0 +1,5 @@ +helpers +isExcluded: aMethodReference + + ^ (super isExcluded: aMethodReference) + or: [(aMethodReference compiledMethod pragmaAt: #ignoreForCoverage) notNil "support for >serializeError:of: (Fixes #440)' id '3d44385a-812e-45fc-b016-c19ddfdf3f83' date '26 September 2019' time '3:27:26.146181 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.63' message 'Fix prepareForTesting which should not call prepareForLoading.' id 'acd9b93e-494d-485b-94b4-f3cc82d993e0' date '11 December 2018' time '11:00:59.213 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.62' message 'Detect headless mode correctly when ''-vm-display-null'' is used.' id '52be2feb-b8ea-47cd-b0f0-b2bbbcf7dbb4' date '4 August 2018' time '4:10:32.407 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.61' message 'Add new version for #378' id '37672fdf-12d5-4982-a890-b2d3849244c4' date '24 June 2018' time '7:54:06.655 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.60' message 'Update' id '2e273fda-d3b2-4626-9124-b13206111841' date '26 March 2018' time '2:58:31.643 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.59' message 'Update Metacello repository URL.' id '0a8ba215-67c2-4f55-a35d-05d2c7171d84' date '7 December 2017' time '11:34:55.523 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.58' message 'Refactor and improve SCICodeCoverage, so that it correctly handles abstract methods, packageNamesUnderTest, and classNamesNotUnderTest.' id 'ec898ad2-9ca7-42d2-bdab-8c08a11818fc' date '22 November 2017' time '2:53:35.482 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.57' message 'Use forceNewFileNamed:do: in favor of forceNewFileNamed:.' id '92c08658-fe80-47c7-a457-104ef741f045' date '21 November 2017' time '12:32:09.76 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.56' message 'Improve SmalltalkCISpec loading.' id '555cb684-7f5d-4ded-a2ed-3b626f00d261' date '20 November 2017' time '2:23:40.909 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.55' message 'Adjust for #failOnDeprecationWarnings option' id '67a25e26-4a2f-450b-9838-63905f4e311c' date '10 November 2017' time '2:57:52.206 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.54' message 'Ensure SmalltalkCI class>>deprecated works when self-testing and coverage testing is enabled.' id '0b633533-07ea-4b4f-b4ee-6767a6359052' date '10 November 2017' time '11:15:42.563 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.53' message 'Implement SmalltalkCI class>>deprecated in a platform-specific way.' id 'dee92d97-673c-476f-af98-737f1bf428e1' date '7 November 2017' time '4:13:00.716 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.52' message 'Make project directory globally available (e.g. for custom scripts).' id '77ca79da-5c2c-4934-ad78-58440692bc3c' date '4 November 2017' time '8:46:08.624 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.51' message 'Add support for pre/post loading/testing scripts (#259).' id 'd5e53e59-8cfe-43af-a426-90477d9532d4' date '1 November 2017' time '2:24:57.573 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.50' message 'Export relative paths in coverage results for coveralls.' id '3eebcc0a-cdba-441a-b307-33595c0065ad' date '26 October 2017' time '9:18:08.228 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-MaxLeske.49' message '* added platform specific subclasses of SCIMetacelloLoadSpec' id 'ea32ae38-7210-0d00-a067-dcd40b1cb8d4' date '11 July 2017' time '10:24:20.495358 pm' author 'MaxLeske' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.48' message 'Use Squeak''s CommandLineToolSet, no need for custom SCISqueakToolSet at the moment.' id 'f07eef41-4527-4d1b-95f5-32c983fe9bc2' date '8 December 2016' time '6:46:13.531 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.47' message 'Use selector instead of methodSelector in SCISqueakTestRunner>>serializeError:of:.' id 'b8015407-88a7-42f3-b868-aabc43ba05ac' date '8 December 2016' time '6:18:25.012 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.46' message 'Use ContextPart>>selector instead of methodSelector which is deprecated.' id '2b5d5efd-9245-400a-bdf7-62dd9514b2f2' date '2 December 2016' time '11:48:04.869 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.45' message 'Improve coverage testing' id '4e872926-ff97-4425-a8ea-1c3fd780d947' date '23 November 2016' time '3:41:02.333 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.44' message 'Also update SUnitTest>>testTestTimeout test case' id '2054869b-50b7-434d-be1d-ff804ffe5b16' date '9 November 2016' time '5:18:37.733 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.43' message 'Add ability to adjust defaultTimeout' id 'b7a61352-1460-48db-845c-8ad59a59859d' date '9 November 2016' time '2:45:43.747 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.42' message 'Add SmalltalkCIGemstone>>imageInfo and remove reportImage' id 'af642e7f-058c-4327-a2c3-deeaeba30f1b' date '21 October 2016' time '4:31:41.205 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.41' message 'Use truncateTo: instead of first: to avoid out of bounds errors.' id '7647ad47-71f1-480b-a46f-0d365dc6beb0' date '16 October 2016' time '5:28:54.105 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.40' message 'SmalltalkCI class>>workingDirectory' id 'a7428bfd-e979-46cc-9f4a-00ef05fa5c85' date '16 October 2016' time '4:33:08.249 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.39' message 'Add SmalltalkCISqueak class>>deleteFile:' id '3bd5ce61-79a8-4bea-89aa-7daaea7b905c' date '16 October 2016' time '4:16:49.924 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.38' message 'Do not catch and mask STONReaderError in Squeak' id 'cf10e59f-6de4-4830-af81-8d80436cc1a7' date '16 October 2016' time '4:14:36.741 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.37' message 'Remove platform-specific platformClass implementation again' id '54f3eea6-e0cf-4ba3-b639-72e8e0516be7' date '14 October 2016' time '9:14:40.783 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.36' message 'Overwride SmalltalkCI class>>platformClass in platform-specific subclasses to avoid lookup problems.' id '6b1bf98e-4001-4008-97b0-605010be3b7f' date '14 October 2016' time '11:00:37.045 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.35' message 'Implement platform-specific hash:length' id 'df9e8985-1097-4ec4-a571-b2bf6acf4e71' date '11 October 2016' time '11:07:08.55 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.34' message 'Rename saveImageAndQuit to saveAndQuitImage' id '7a2f9162-aab3-4ebd-ab77-2453abeb699b' date '11 October 2016' time '9:35:31.257 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.33' message 'Minor change' id 'c098f7c8-fab8-49e4-9448-3e919f2ed305' date '11 October 2016' time '9:26:06.412 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.32' message 'Clean up image operations' id '740c48d8-a214-4f62-b017-233460fbc1be' date '11 October 2016' time '6:48:53.681 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.31' message 'Add getEnv: based on OSProcess''s implementation' id '23f154ff-371d-44fe-ad07-59f091abbcfc' date '9 October 2016' time '9:49:28.228 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.30' message 'Move coverage reporting into image using SCICodeCoverage' id '19ff36ce-73ba-4393-ad07-cde7a6bdeddd' date '8 October 2016' time '4:54:46.502 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.29' message 'Add platform-specific forceNewFileNamed:' id '9b1bd8da-0128-4620-9b7b-37ea71dacdad' date '4 October 2016' time '6:04:16.01 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.28' message 'Add Squeak-specific TestRunner class and methodDictOf:' id 'ce4eb2a8-f6dd-43b3-bebe-e46af88ede11' date '4 October 2016' time '5:29:54.35 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.27' message 'Do not close image when resuming' id '243b257a-b823-4fbf-9e8f-4b0ea8801e73' date '4 October 2016' time '4:43:37.919 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.26' message 'This is now done in the super class' id '540cae44-029e-4d31-bfc9-426a9aab7b3d' date '4 October 2016' time '2:46:45.57 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.25' message 'Minor improvement' id 'f5907af5-0696-47e6-a447-3993e4fc14fd' date '29 September 2016' time '4:15:00.832 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.24' message 'Use printShowingMaxDecimalPlaces:' id 'e19217f9-04f0-4482-bd86-242dc9670138' date '28 September 2016' time '12:07:49.793 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.23' message 'Add platform-specific stringFor:maxDecimalPlaces:' id 'd11cf1e0-0008-469c-8ad4-87f34c08a84e' date '28 September 2016' time '11:58:52.594 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.22' message 'Use stdout consistently' id 'e3dab50e-f742-49c9-b219-352a2bb06d48' date '27 September 2016' time '8:41:18.628 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.21' message 'Add platform-specific imagePath' id 'f44d4925-9701-49b4-94ac-1b8472d85494' date '27 September 2016' time '8:14:53.044 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.20' message 'Move methods and add saveImage' id '92770e04-f61c-4166-a2d2-1d21835e3632' date '25 September 2016' time '8:02:38.665 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.19' message 'Use new testrunner' id '6ad11e32-ab45-49dc-8171-12fe51d28e67' date '18 July 2016' time '9:09:54.031 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.18' message 'Add closeImageWithExitCode:' id 'db391b4c-d444-4db3-a1a3-c9b4be6bc278' date '2 July 2016' time '4:06:20.368 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.17' message 'Remove SCISqueakTestReport' id '031da345-5af6-4e01-ad00-328c0ebcfcc2' date '2 July 2016' time '3:52:58.738 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.16' message 'Update for Windows compatibility' id '09db9aca-868b-4583-aac0-315bab1f3155' date '24 June 2016' time '11:11:39.247 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.15' message 'Squeak-specific classesInPackage' id '4b638a5c-b293-4976-af72-aede301d43a2' date '22 June 2016' time '9:19:29.091 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.14' message 'Add Squeak-specific allPackageNames' id 'f7e06b7b-66c3-4d39-93da-61263d5f415d' date '22 June 2016' time '12:47:58.16 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.13' message 'Improve preparing/finishing up logic' id 'db635480-211b-4cd1-8b70-6b1e1ba73803' date '14 June 2016' time '7:20:19.743 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.12' message 'Save image after loading and on errors' id '68e3ddc6-15fe-4977-a5d9-e649579e6454' date '13 June 2016' time '1:34:27.837 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.11' message 'Update after separating loading and testing for #148 and remove finishUpAfterCI logic.' id '0fd9211a-3bf1-4f5b-99bb-bb24106da2c1' date '13 June 2016' time '1:13:15.541 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.10' message 'Add SCISqueakMonticelloLoadSpec' id '2bc35a67-6443-407c-953a-5379c9670568' date '13 June 2016' time '9:58:37.265 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.9' message 'Improve compatibility to GemStone #144' id '93f3ce6f-0808-47be-ad2e-c1da308c4439' date '19 May 2016' time '10:51:18.827 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.8' message 'Fix "Show corresponding line of code of test method in stack trace " #137' id '9e045455-72b5-484b-887e-4bbd2747706c' date '9 May 2016' time '8:00:19.614 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.7' message 'Fix DNU in Squeak images <= v4.5 #136' id '89c3c5bc-2634-4138-9931-d0b27583a11c' date '30 April 2016' time '1:55:34.709 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.6' message 'Show corresponding line of code of test method in stack trace' id 'cbd2b870-ec9d-41c1-bdfb-132277be38d7' date '29 April 2016' time '5:27:03.407 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.5' message 'Fix snapshotting and quitting' id '4e45ffc3-2d0e-4478-b6c1-53a12caafdb2' date '21 April 2016' time '3:44:30.717 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.4' message 'Move packageNameForClass: to class-side' id 'ec9e4712-d27b-40ac-8df7-8f1b3801192a' date '19 April 2016' time '6:43:48.362 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.3' message 'Improve coverage testing' id '67d96d6a-56c0-4bb1-97a2-389fc3eba8b6' date '19 April 2016' time '6:32:45.676 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.2' message 'Do not snapshot and quit in one call. It turns out that doing both in one call can lead to an inconsistent image. This is apparently not a problem when using a Cog VM, but other VMs (e.g. RSqueak) might choke on images like this.' id '04dc474c-8f05-47b8-b0e2-ae08ab703bad' date '19 April 2016' time '4:55:47.516 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.1' message 'Split SmalltalkCI-Squeak into two packages' id '2bef7e52-a225-4990-a220-9f18617772e0' date '15 April 2016' time '11:11:25.34 pm' author 'fn' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'SmalltalkCI-Squeak-Core-fn.71' message 'Override repositorySchemeIn: in SCISqueakMetacelloLoadSpec' id '1570787a-a297-444f-a8e2-b1be724f9472' date '12 January 2021' time '2:30:37.575538 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.70' message 'More Squeak compatibility fixes' id 'dc8468b0-0655-4346-9a54-5465a1124bdd' date '4 September 2020' time '4:25:01.602367 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.69' message 'Make promptToProceedImpl more compatible' id 'e0200115-0aa5-4f6f-8c6c-ddf172a2a3b1' date '4 September 2020' time '4:04:58.655886 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.68' message 'Make promptToProceedImpl backwards compatible with older Squeak versions.' id '7e03c551-c002-4af9-a515-2ab2ea1eb691' date '4 September 2020' time '3:40:53.18401 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.67' message 'Delegate promptToProceed to promptToProceedImpl to avoid infinite recursion' id '8892b64d-ef2e-4a8f-a191-2f71dc637c43' date '4 September 2020' time '2:48:17.439256 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.66' message 'Delegate promptToProceed to platformclass' id 'd1b6dab4-f4b1-4eae-a5a1-c236ed5cf42c' date '4 September 2020' time '2:43:53.792683 pm' author 'smalltalkCI' ancestors ((id 'aa0c846d-90a2-43f2-961b-135533cbed44')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'SmalltalkCI-Squeak-Core-ct.75' message 'Complements SmalltalkCI-Coverage-Core-ct.34 (extension methods for coverage testing).' id '20680cb3-dbe1-a342-8d7d-212beac8dae9' date '29 September 2022' time '4:59:02.751693 pm' author 'ct' ancestors ((name 'SmalltalkCI-Squeak-Core-ct.74' message 'Complements SmalltalkCI-Coverage-Core-ct.33 (fixes file paths for coverage reports).' id '79188165-d8a7-f540-b2d3-d4b5b40f8ab4' date '9 September 2022' time '11:59:39.979395 pm' author 'ct' ancestors ((name 'SmalltalkCI-Squeak-Core-ct.73' message 'Complements ToolBuilder-Kernel-tpr.157: When available, use modern #chooseOptionFrom:title: from UIManager instead of #chooseFrom:title: that is intended for data only.' id '3fd5ebfd-e152-4344-ac40-0918fc4bac54' date '25 May 2022' time '2:07:54.837326 pm' author 'ct' ancestors ((name 'SmalltalkCI-Squeak-Core-ct.72' message 'Complements SUnit-ct.129 (Trunk): Catch warnings and halts in test case execution as well as Errors.' id '6ef781f9-e657-b549-a72c-f72373f63f3c' date '20 January 2022' time '12:11:48.256834 am' author 'ct' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.67' message 'Fix typo' id 'bfa55580-9158-45b7-b10f-07316e3dc267' date '2 September 2020' time '3:57:24.865878 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.66' message 'Add method to assure directory existance' id '9bef646f-ba2e-47ad-b109-3be5c257684b' date '2 September 2020' time '3:53:16.324731 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.65' message 'Remove unused methods from SqueakCodeCoverage' id 'aa0c846d-90a2-43f2-961b-135533cbed44' date '27 August 2020' time '2:46:44.324605 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.64' message 'Drop redundant SCISqueakTestRunner>>serializeError:of: (Fixes #440)' id '3d44385a-812e-45fc-b016-c19ddfdf3f83' date '26 September 2019' time '3:27:26.146181 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.63' message 'Fix prepareForTesting which should not call prepareForLoading.' id 'acd9b93e-494d-485b-94b4-f3cc82d993e0' date '11 December 2018' time '11:00:59.213 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.62' message 'Detect headless mode correctly when ''-vm-display-null'' is used.' id '52be2feb-b8ea-47cd-b0f0-b2bbbcf7dbb4' date '4 August 2018' time '4:10:32.407 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.61' message 'Add new version for #378' id '37672fdf-12d5-4982-a890-b2d3849244c4' date '24 June 2018' time '7:54:06.655 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.60' message 'Update' id '2e273fda-d3b2-4626-9124-b13206111841' date '26 March 2018' time '2:58:31.643 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.59' message 'Update Metacello repository URL.' id '0a8ba215-67c2-4f55-a35d-05d2c7171d84' date '7 December 2017' time '11:34:55.523 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.58' message 'Refactor and improve SCICodeCoverage, so that it correctly handles abstract methods, packageNamesUnderTest, and classNamesNotUnderTest.' id 'ec898ad2-9ca7-42d2-bdab-8c08a11818fc' date '22 November 2017' time '2:53:35.482 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.57' message 'Use forceNewFileNamed:do: in favor of forceNewFileNamed:.' id '92c08658-fe80-47c7-a457-104ef741f045' date '21 November 2017' time '12:32:09.76 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.56' message 'Improve SmalltalkCISpec loading.' id '555cb684-7f5d-4ded-a2ed-3b626f00d261' date '20 November 2017' time '2:23:40.909 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.55' message 'Adjust for #failOnDeprecationWarnings option' id '67a25e26-4a2f-450b-9838-63905f4e311c' date '10 November 2017' time '2:57:52.206 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.54' message 'Ensure SmalltalkCI class>>deprecated works when self-testing and coverage testing is enabled.' id '0b633533-07ea-4b4f-b4ee-6767a6359052' date '10 November 2017' time '11:15:42.563 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.53' message 'Implement SmalltalkCI class>>deprecated in a platform-specific way.' id 'dee92d97-673c-476f-af98-737f1bf428e1' date '7 November 2017' time '4:13:00.716 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.52' message 'Make project directory globally available (e.g. for custom scripts).' id '77ca79da-5c2c-4934-ad78-58440692bc3c' date '4 November 2017' time '8:46:08.624 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.51' message 'Add support for pre/post loading/testing scripts (#259).' id 'd5e53e59-8cfe-43af-a426-90477d9532d4' date '1 November 2017' time '2:24:57.573 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.50' message 'Export relative paths in coverage results for coveralls.' id '3eebcc0a-cdba-441a-b307-33595c0065ad' date '26 October 2017' time '9:18:08.228 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-MaxLeske.49' message '* added platform specific subclasses of SCIMetacelloLoadSpec' id 'ea32ae38-7210-0d00-a067-dcd40b1cb8d4' date '11 July 2017' time '10:24:20.495358 pm' author 'MaxLeske' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.48' message 'Use Squeak''s CommandLineToolSet, no need for custom SCISqueakToolSet at the moment.' id 'f07eef41-4527-4d1b-95f5-32c983fe9bc2' date '8 December 2016' time '6:46:13.531 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.47' message 'Use selector instead of methodSelector in SCISqueakTestRunner>>serializeError:of:.' id 'b8015407-88a7-42f3-b868-aabc43ba05ac' date '8 December 2016' time '6:18:25.012 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.46' message 'Use ContextPart>>selector instead of methodSelector which is deprecated.' id '2b5d5efd-9245-400a-bdf7-62dd9514b2f2' date '2 December 2016' time '11:48:04.869 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.45' message 'Improve coverage testing' id '4e872926-ff97-4425-a8ea-1c3fd780d947' date '23 November 2016' time '3:41:02.333 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.44' message 'Also update SUnitTest>>testTestTimeout test case' id '2054869b-50b7-434d-be1d-ff804ffe5b16' date '9 November 2016' time '5:18:37.733 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.43' message 'Add ability to adjust defaultTimeout' id 'b7a61352-1460-48db-845c-8ad59a59859d' date '9 November 2016' time '2:45:43.747 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.42' message 'Add SmalltalkCIGemstone>>imageInfo and remove reportImage' id 'af642e7f-058c-4327-a2c3-deeaeba30f1b' date '21 October 2016' time '4:31:41.205 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.41' message 'Use truncateTo: instead of first: to avoid out of bounds errors.' id '7647ad47-71f1-480b-a46f-0d365dc6beb0' date '16 October 2016' time '5:28:54.105 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.40' message 'SmalltalkCI class>>workingDirectory' id 'a7428bfd-e979-46cc-9f4a-00ef05fa5c85' date '16 October 2016' time '4:33:08.249 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.39' message 'Add SmalltalkCISqueak class>>deleteFile:' id '3bd5ce61-79a8-4bea-89aa-7daaea7b905c' date '16 October 2016' time '4:16:49.924 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.38' message 'Do not catch and mask STONReaderError in Squeak' id 'cf10e59f-6de4-4830-af81-8d80436cc1a7' date '16 October 2016' time '4:14:36.741 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.37' message 'Remove platform-specific platformClass implementation again' id '54f3eea6-e0cf-4ba3-b639-72e8e0516be7' date '14 October 2016' time '9:14:40.783 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.36' message 'Overwride SmalltalkCI class>>platformClass in platform-specific subclasses to avoid lookup problems.' id '6b1bf98e-4001-4008-97b0-605010be3b7f' date '14 October 2016' time '11:00:37.045 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.35' message 'Implement platform-specific hash:length' id 'df9e8985-1097-4ec4-a571-b2bf6acf4e71' date '11 October 2016' time '11:07:08.55 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.34' message 'Rename saveImageAndQuit to saveAndQuitImage' id '7a2f9162-aab3-4ebd-ab77-2453abeb699b' date '11 October 2016' time '9:35:31.257 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.33' message 'Minor change' id 'c098f7c8-fab8-49e4-9448-3e919f2ed305' date '11 October 2016' time '9:26:06.412 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.32' message 'Clean up image operations' id '740c48d8-a214-4f62-b017-233460fbc1be' date '11 October 2016' time '6:48:53.681 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.31' message 'Add getEnv: based on OSProcess''s implementation' id '23f154ff-371d-44fe-ad07-59f091abbcfc' date '9 October 2016' time '9:49:28.228 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.30' message 'Move coverage reporting into image using SCICodeCoverage' id '19ff36ce-73ba-4393-ad07-cde7a6bdeddd' date '8 October 2016' time '4:54:46.502 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.29' message 'Add platform-specific forceNewFileNamed:' id '9b1bd8da-0128-4620-9b7b-37ea71dacdad' date '4 October 2016' time '6:04:16.01 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.28' message 'Add Squeak-specific TestRunner class and methodDictOf:' id 'ce4eb2a8-f6dd-43b3-bebe-e46af88ede11' date '4 October 2016' time '5:29:54.35 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.27' message 'Do not close image when resuming' id '243b257a-b823-4fbf-9e8f-4b0ea8801e73' date '4 October 2016' time '4:43:37.919 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.26' message 'This is now done in the super class' id '540cae44-029e-4d31-bfc9-426a9aab7b3d' date '4 October 2016' time '2:46:45.57 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.25' message 'Minor improvement' id 'f5907af5-0696-47e6-a447-3993e4fc14fd' date '29 September 2016' time '4:15:00.832 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.24' message 'Use printShowingMaxDecimalPlaces:' id 'e19217f9-04f0-4482-bd86-242dc9670138' date '28 September 2016' time '12:07:49.793 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.23' message 'Add platform-specific stringFor:maxDecimalPlaces:' id 'd11cf1e0-0008-469c-8ad4-87f34c08a84e' date '28 September 2016' time '11:58:52.594 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.22' message 'Use stdout consistently' id 'e3dab50e-f742-49c9-b219-352a2bb06d48' date '27 September 2016' time '8:41:18.628 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.21' message 'Add platform-specific imagePath' id 'f44d4925-9701-49b4-94ac-1b8472d85494' date '27 September 2016' time '8:14:53.044 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.20' message 'Move methods and add saveImage' id '92770e04-f61c-4166-a2d2-1d21835e3632' date '25 September 2016' time '8:02:38.665 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.19' message 'Use new testrunner' id '6ad11e32-ab45-49dc-8171-12fe51d28e67' date '18 July 2016' time '9:09:54.031 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.18' message 'Add closeImageWithExitCode:' id 'db391b4c-d444-4db3-a1a3-c9b4be6bc278' date '2 July 2016' time '4:06:20.368 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.17' message 'Remove SCISqueakTestReport' id '031da345-5af6-4e01-ad00-328c0ebcfcc2' date '2 July 2016' time '3:52:58.738 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.16' message 'Update for Windows compatibility' id '09db9aca-868b-4583-aac0-315bab1f3155' date '24 June 2016' time '11:11:39.247 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.15' message 'Squeak-specific classesInPackage' id '4b638a5c-b293-4976-af72-aede301d43a2' date '22 June 2016' time '9:19:29.091 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.14' message 'Add Squeak-specific allPackageNames' id 'f7e06b7b-66c3-4d39-93da-61263d5f415d' date '22 June 2016' time '12:47:58.16 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.13' message 'Improve preparing/finishing up logic' id 'db635480-211b-4cd1-8b70-6b1e1ba73803' date '14 June 2016' time '7:20:19.743 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.12' message 'Save image after loading and on errors' id '68e3ddc6-15fe-4977-a5d9-e649579e6454' date '13 June 2016' time '1:34:27.837 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.11' message 'Update after separating loading and testing for #148 and remove finishUpAfterCI logic.' id '0fd9211a-3bf1-4f5b-99bb-bb24106da2c1' date '13 June 2016' time '1:13:15.541 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.10' message 'Add SCISqueakMonticelloLoadSpec' id '2bc35a67-6443-407c-953a-5379c9670568' date '13 June 2016' time '9:58:37.265 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.9' message 'Improve compatibility to GemStone #144' id '93f3ce6f-0808-47be-ad2e-c1da308c4439' date '19 May 2016' time '10:51:18.827 am' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.8' message 'Fix "Show corresponding line of code of test method in stack trace " #137' id '9e045455-72b5-484b-887e-4bbd2747706c' date '9 May 2016' time '8:00:19.614 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.7' message 'Fix DNU in Squeak images <= v4.5 #136' id '89c3c5bc-2634-4138-9931-d0b27583a11c' date '30 April 2016' time '1:55:34.709 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.6' message 'Show corresponding line of code of test method in stack trace' id 'cbd2b870-ec9d-41c1-bdfb-132277be38d7' date '29 April 2016' time '5:27:03.407 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.5' message 'Fix snapshotting and quitting' id '4e45ffc3-2d0e-4478-b6c1-53a12caafdb2' date '21 April 2016' time '3:44:30.717 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.4' message 'Move packageNameForClass: to class-side' id 'ec9e4712-d27b-40ac-8df7-8f1b3801192a' date '19 April 2016' time '6:43:48.362 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.3' message 'Improve coverage testing' id '67d96d6a-56c0-4bb1-97a2-389fc3eba8b6' date '19 April 2016' time '6:32:45.676 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.2' message 'Do not snapshot and quit in one call. It turns out that doing both in one call can lead to an inconsistent image. This is apparently not a problem when using a Cog VM, but other VMs (e.g. RSqueak) might choke on images like this.' id '04dc474c-8f05-47b8-b0e2-ae08ab703bad' date '19 April 2016' time '4:55:47.516 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-fn.1' message 'Split SmalltalkCI-Squeak into two packages' id '2bef7e52-a225-4990-a220-9f18617772e0' date '15 April 2016' time '11:11:25.34 pm' author 'fn' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'SmalltalkCI-Squeak-Core-fn.71' message 'Override repositorySchemeIn: in SCISqueakMetacelloLoadSpec' id '1570787a-a297-444f-a8e2-b1be724f9472' date '12 January 2021' time '2:30:37.575538 pm' author 'fn' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.70' message 'More Squeak compatibility fixes' id 'dc8468b0-0655-4346-9a54-5465a1124bdd' date '4 September 2020' time '4:25:01.602367 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.69' message 'Make promptToProceedImpl more compatible' id 'e0200115-0aa5-4f6f-8c6c-ddf172a2a3b1' date '4 September 2020' time '4:04:58.655886 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.68' message 'Make promptToProceedImpl backwards compatible with older Squeak versions.' id '7e03c551-c002-4af9-a515-2ab2ea1eb691' date '4 September 2020' time '3:40:53.18401 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.67' message 'Delegate promptToProceed to promptToProceedImpl to avoid infinite recursion' id '8892b64d-ef2e-4a8f-a191-2f71dc637c43' date '4 September 2020' time '2:48:17.439256 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Squeak-Core-smalltalkCI.66' message 'Delegate promptToProceed to platformclass' id 'd1b6dab4-f4b1-4eae-a5a1-c236ed5cf42c' date '4 September 2020' time '2:43:53.792683 pm' author 'smalltalkCI' ancestors ((id 'aa0c846d-90a2-43f2-961b-135533cbed44')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file