From b3a3bb85af24eaace7b07e6768b8c1e66054a132 Mon Sep 17 00:00:00 2001 From: Christoph Thiede <38782922+LinqLover@users.noreply.github.com> Date: Sat, 10 Sep 2022 00:40:22 +0200 Subject: [PATCH 01/11] Fix file paths for coverage reports Implement and test proper handling of class-side methods, extension methods, trait methods, and special message selectors. --- .../class/fileNameForSelector..st | 27 +++++++++++++++++ .../class/filePathFor.in..st | 30 +++++++++++-------- .../class/initializeSpecials.st | 23 ++++++++++++++ .../class/packageNameForMethod..st | 3 ++ .../SCICodeCoverage.class/class/specials.st | 4 +++ .../methodProperties.json | 6 +++- .../SCICodeCoverage.class/properties.json | 2 +- .../monticello.meta/version | 6 +++- .../instance/sciTestSomeExtensionMethod.st | 4 +++ .../Object.extension/methodProperties.json | 5 ++++ .../Object.extension/properties.json | 2 ++ .../assertWriterUsesFormat.forSpec..st | 2 +- .../instance/testCoverageHelpers.st | 2 +- .../instance/testCoverallsWriterClass.st | 2 +- .../instance/testDefaultWriterClass.st | 2 +- .../instance/testEndToEnd.st | 2 +- .../instance/testFilePath.st | 18 +++++++++++ .../instance/testLcovEndToEnd.st | 2 +- .../instance/testLcovWriterClass.st | 2 +- .../instance/testMethodReferences.st | 6 ++-- .../instance/testUnknownWriterClass.st | 2 +- .../methodProperties.json | 5 ++-- ...nus.tilde.slash.less.equals.more.wat.at.st | 5 ++++ .../methodProperties.json | 1 + .../properties.json | 2 ++ .../README.md | 0 .../class/someTraitClassMethod.st | 4 +++ .../instance/someTraitInstanceMethod.st | 4 +++ .../methodProperties.json | 5 ++++ .../properties.json | 4 +++ .../monticello.meta/version | 2 +- .../class/packageNameForMethod..st | 3 ++ .../methodProperties.json | 3 +- .../monticello.meta/version | 2 +- .../class/packageNameForMethod..st | 3 ++ .../methodProperties.json | 1 + .../monticello.meta/version | 2 +- .../class/packageNameForMethod..st | 3 ++ .../methodProperties.json | 3 +- .../monticello.meta/version | 2 +- 40 files changed, 172 insertions(+), 34 deletions(-) create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/fileNameForSelector..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/initializeSpecials.st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/packageNameForMethod..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/specials.st create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/Object.extension/instance/sciTestSomeExtensionMethod.st create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/Object.extension/methodProperties.json create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/Object.extension/properties.json create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testFilePath.st create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTestTarget.class/instance/^percent.and.star.plus.comma.pipe.minus.tilde.slash.less.equals.more.wat.at.st create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/README.md create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/class/someTraitClassMethod.st create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/instance/someTraitInstanceMethod.st create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/methodProperties.json create mode 100644 repository/SmalltalkCI-Coverage-Tests.package/TSCICodeCoverageTestTarget.trait/properties.json create mode 100644 repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/packageNameForMethod..st create mode 100644 repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/class/packageNameForMethod..st create mode 100644 repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/packageNameForMethod..st 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/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/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json index f1224a8f..d6ecac73 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -2,17 +2,21 @@ "class" : { "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", + "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", + "initializeSpecials" : "ct 9/9/2022 22:48", "isExcluded:" : "fn 11/22/2017 12:51", "linesOf:" : "fn 11/22/2017 14:41", "md5Of:" : "fn 11/22/2017 14:42", "methodReferenceFor:selector:" : "fn 10/8/2016 15:10", "methodReferencesFor:" : "fn 11/22/2017 13:46", "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", 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/monticello.meta/version b/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version index 86dab6c8..f74958df 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.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 ()) \ 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..d502eabd 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 ]. 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..46e7b95d 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: 4 equals: methods size. methods := SmalltalkCI codeCoverageClass methodReferencesFor: { SCICodeCoverageTestTarget class }. - self assert: 4 equals: methods size \ No newline at end of file + self assert: 5 <= 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..5b5f6a18 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json @@ -15,7 +15,8 @@ "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", + "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/10/2022 02:03", "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/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/methodProperties.json b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json index fcb32c5c..0899a2c0 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json @@ -3,6 +3,7 @@ "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/monticello.meta/version b/repository/SmalltalkCI-Pharo-Core.package/monticello.meta/version index 29a95a95..f45c2f51 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.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 ()) \ 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/methodProperties.json b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/methodProperties.json index e9f4d449..2e140def 100644 --- a/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/methodProperties.json @@ -21,6 +21,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/monticello.meta/version b/repository/SmalltalkCI-Pharo-Coverage-Core.package/monticello.meta/version index 5a1f7473..6a38ebb3 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.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 ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/packageNameForMethod..st b/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/packageNameForMethod..st new file mode 100644 index 00000000..b6091261 --- /dev/null +++ b/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/packageNameForMethod..st @@ -0,0 +1,3 @@ +compatibility +packageNameForMethod: aMethodReference + ^ (PackageOrganizer default packageOfMethod: aMethodReference) packageName \ No newline at end of file diff --git a/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/methodProperties.json b/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/methodProperties.json index 334d8f23..a807c96d 100644 --- a/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/methodProperties.json @@ -3,6 +3,7 @@ "linesOf:" : "fn 11/22/2017 14:42", "md5Of:" : "fn 11/22/2017 14:42", "methodReferenceFor:selector:" : "fn 10/8/2016 15:11", - "packageNameForClass:" : "fn 10/8/2016 15:11" }, + "packageNameForClass:" : "fn 10/8/2016 15:11", + "packageNameForMethod:" : "ct 9/9/2022 22:37" }, "instance" : { } } diff --git a/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version b/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version index bb334f92..049b841a 100644 --- a/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file From 4c9ddb693f88815f05f0b08d247106c6e71d2033 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Thu, 29 Sep 2022 18:37:47 +0200 Subject: [PATCH 02/11] Honor extension methods of selected packages for coverage testing --- .../class/extensionMethodsForPackageNames..st | 5 +++++ .../class/extensionMethodsForPackages..st | 5 +++++ .../SmalltalkCI.class/class/extensionMethodsInPackage..st | 4 ++++ .../SmalltalkCI.class/methodProperties.json | 3 +++ .../SmalltalkCI-Core.package/monticello.meta/version | 2 +- .../instance/allMethodReferencesToCover.st | 8 +++++++- .../instance/extensionMethodsForPackages.st | 5 +++++ .../SCICodeCoverage.class/methodProperties.json | 3 ++- .../monticello.meta/version | 4 ++-- .../class/extensionMethodsInPackage..st | 4 ++++ .../SmalltalkCIPharo.class/methodProperties.json | 1 + .../monticello.meta/version | 2 +- .../monticello.meta/version | 2 +- .../class/extensionMethodsInPackage..st | 4 ++++ .../SmalltalkCISqueak.class/methodProperties.json | 1 + .../monticello.meta/version | 2 +- 16 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackageNames..st create mode 100644 repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsForPackages..st create mode 100644 repository/SmalltalkCI-Core.package/SmalltalkCI.class/class/extensionMethodsInPackage..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/extensionMethodsForPackages.st create mode 100644 repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo.class/class/extensionMethodsInPackage..st create mode 100644 repository/SmalltalkCI-Squeak-Core.package/SmalltalkCISqueak.class/class/extensionMethodsInPackage..st 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/instance/allMethodReferencesToCover.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st index 2a3f33c1..b121a339 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 \ 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/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json index d6ecac73..59a996eb 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -22,7 +22,7 @@ "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 16:51", "allPackagesUnderTestOf:" : "GabrielOmarCotelli 2/20/2019 18:00", "classesAndMetaclassesOf:" : "GabrielOmarCotelli 2/20/2019 18:00", "classesToCover" : "fn 11/22/2017 13:33", @@ -36,6 +36,7 @@ "directoryFor:in:" : "fn 11/22/2017 14:35", "excludedMethods" : "fn 11/22/2017 13:58", "exportResultsIn:" : "smalltalkCI 8/26/2020 14:07", + "extensionMethodsForPackages" : "ct 9/29/2022 13:37", "finishUp" : "fn 11/22/2017 13:57", "includedMethods" : "fn 11/22/2017 13:58", "run:" : "fn 11/30/2017 14:42", diff --git a/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version b/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version index f74958df..69eb875a 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version @@ -1,5 +1,5 @@ -(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. +(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 ()) \ No newline at end of file +' 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 ()) \ No newline at end of file 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 f45c2f51..cd25c819 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-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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Coverage-Core.package/monticello.meta/version b/repository/SmalltalkCI-Pharo-Coverage-Core.package/monticello.meta/version index 6a38ebb3..22108d8f 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-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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file diff --git a/repository/SmalltalkCI-Squeak-Core.package/SmalltalkCISqueak.class/class/extensionMethodsInPackage..st b/repository/SmalltalkCI-Squeak-Core.package/SmalltalkCISqueak.class/class/extensionMethodsInPackage..st new file mode 100644 index 00000000..ca69e2d9 --- /dev/null +++ b/repository/SmalltalkCI-Squeak-Core.package/SmalltalkCISqueak.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-Squeak-Core.package/SmalltalkCISqueak.class/methodProperties.json b/repository/SmalltalkCI-Squeak-Core.package/SmalltalkCISqueak.class/methodProperties.json index f2f54598..c4ea9afd 100644 --- a/repository/SmalltalkCI-Squeak-Core.package/SmalltalkCISqueak.class/methodProperties.json +++ b/repository/SmalltalkCI-Squeak-Core.package/SmalltalkCISqueak.class/methodProperties.json @@ -7,6 +7,7 @@ "codeCoverageClass" : "fn 10/8/2016 14:57", "deleteFile:" : "fn 10/16/2016 16:14", "deprecationWarning" : "fn 3/26/2018 14:56", + "extensionMethodsInPackage:" : "ct 9/29/2022 16:49", "fileExists:" : "fn 4/14/2016 00:55", "forceNewFileNamed:do:" : "fn 11/21/2017 11:55", "getAuthor" : "fn 1/31/2016 21:37", diff --git a/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version b/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version index 049b841a..4662ba2d 100644 --- a/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Squeak-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ 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 From 9d899ddf799848155e7d8893f77b5e3e2abfc262 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Thu, 29 Sep 2022 18:56:04 +0200 Subject: [PATCH 03/11] Update documentation on coverage configuration --- docs/COVERAGE.md | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/docs/COVERAGE.md b/docs/COVERAGE.md index 3b4e3d3e..f2dc8ef9 100644 --- a/docs/COVERAGE.md +++ b/docs/COVERAGE.md @@ -14,25 +14,34 @@ 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. + +> **Warning** +> *Traits* are currently not fully supported. In the coverage reports, methods that are defined in or inherited from a trait might be missing or incorrectly displayed as uncovered. See [#362 (comment)](https://github.com/hpi-swa/smalltalkCI/issues/362#issuecomment-1003247630). + 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]. @@ -49,15 +58,18 @@ Writing LCOV coverage info to: /path/to/coverage/lcov.info Most coverage services already support uploading coverage in the LCOV format with uploader scripts. 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) -- [CodeCov](#codecov) - - [Travis CI](#codecov-%26-travisci) - - [GitHub actions](#codecov-%26-github-actions) -- [Cobertura](#cobertura) - - [GitLab CI](#cobertura-%26-gitlabci) +- [Coverage Testing](#coverage-testing) + - [Configuring coverage testing](#configuring-coverage-testing) + - [Uploading with different CI-services/Coverage reporters](#uploading-with-different-ci-servicescoverage-reporters) + - [Inspecting coverage locally](#inspecting-coverage-locally) + - [Coveralls](#coveralls) + - [Coveralls & Travis CI](#coveralls--travis-ci) + - [Coveralls & GitHub Actions](#coveralls--github-actions) + - [CodeCov](#codecov) + - [CodeCov & TravisCI](#codecov--travisci) + - [CodeCov & GitHub Actions](#codecov--github-actions) + - [Cobertura](#cobertura) + - [Cobertura & 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. From cd6d13e0476c04b1bf6bc75b0b13822b86fa2092 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Thu, 29 Sep 2022 20:09:10 +0200 Subject: [PATCH 04/11] Fix 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 --- docs/COVERAGE.md | 5 +++-- .../class/cannotBeCovered..st | 6 ++++++ .../class/eventualOriginalTraitMethodFor..st | 5 +++++ .../SCICodeCoverage.class/class/isExcluded..st | 3 +-- .../class/methodIsTraitMethod..st | 5 +++++ .../instance/allMethodReferencesToCover.st | 2 +- .../instance/classIsTrait..st | 5 +++++ .../instance/eventualUserReferencesOf..st | 5 +++++ .../instance/eventualUsersForTraitsIn..st | 5 +++++ .../SCICodeCoverage.class/instance/finishUp.st | 3 ++- .../SCICodeCoverage.class/instance/startUp.st | 7 +++++-- .../SCICodeCoverage.class/methodProperties.json | 14 ++++++++++---- .../SCICoverageWrapper.class/instance/mark.st | 9 ++++++++- .../instance/respondsTo..st | 5 +++++ .../SCICoverageWrapper.class/methodProperties.json | 3 ++- .../monticello.meta/version | 4 ++-- .../instance/allClassesToCover.st | 5 ----- .../methodProperties.json | 2 +- .../SCIPharo34CodeCoverage.class/properties.json | 2 +- .../monticello.meta/version | 2 +- .../instance/allClassesToCover.st | 3 --- .../methodProperties.json | 1 - .../SCIPharoCodeCoverage.class/properties.json | 1 - .../monticello.meta/version | 2 +- 24 files changed, 74 insertions(+), 30 deletions(-) create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/cannotBeCovered..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/classIsTrait..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUsersForTraitsIn..st create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/respondsTo..st delete mode 100644 repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/instance/allClassesToCover.st delete mode 100644 repository/SmalltalkCI-Pharo-Coverage-Core.package/SCIPharoCodeCoverage.class/instance/allClassesToCover.st diff --git a/docs/COVERAGE.md b/docs/COVERAGE.md index f2dc8ef9..2279b07c 100644 --- a/docs/COVERAGE.md +++ b/docs/COVERAGE.md @@ -39,8 +39,9 @@ The `#coverage` dictionary can contain the following options: If multiple of the option `#packages`, `#classes`, and `#categories` are provided, the union of all matched methods is used for coverage testing. -> **Warning** -> *Traits* are currently not fully supported. In the coverage reports, methods that are defined in or inherited from a trait might be missing or incorrectly displayed as uncovered. See [#362 (comment)](https://github.com/hpi-swa/smalltalkCI/issues/362#issuecomment-1003247630). +*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. 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]. 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..1dae0f7c --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st @@ -0,0 +1,5 @@ +helpers +eventualOriginalTraitMethodFor: aCompiledMethod + + ^ (aCompiledMethod respondsTo: #eventualOriginalTraitMethod) + and: [aCompiledMethod eventualOriginalTraitMethod] \ 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/methodIsTraitMethod..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st new file mode 100644 index 00000000..ee50058c --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st @@ -0,0 +1,5 @@ +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/instance/allMethodReferencesToCover.st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st index b121a339..48dfe1ed 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/allMethodReferencesToCover.st @@ -6,4 +6,4 @@ allMethodReferencesToCover methods := methods , self extensionMethodsForPackages asArray. - ^ methods \ No newline at end of file + ^ 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..ce493b35 --- /dev/null +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st @@ -0,0 +1,5 @@ +helpers +eventualUserReferencesOf: methodReferenceInATrait + + ^ (methodReferenceInATrait respondsTo: #eventualUserReferences) + and: [methodReferenceInATrait eventualUserReferences] \ 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/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..03dfdf06 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,11 @@ 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). + 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 59a996eb..e6e37af2 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -1,15 +1,18 @@ { "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", + "eventualOriginalTraitMethodFor:" : "ct 9/29/2022 13:55", "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", "initializeSpecials" : "ct 9/9/2022 22:48", - "isExcluded:" : "fn 11/22/2017 12:51", + "isExcluded:" : "ct 9/29/2022 13:27", "linesOf:" : "fn 11/22/2017 14:41", "md5Of:" : "fn 11/22/2017 14:42", + "methodIsTraitMethod:" : "ct 9/29/2022 13:20", "methodReferenceFor:selector:" : "fn 10/8/2016 15:10", "methodReferencesFor:" : "fn 11/22/2017 13:46", "packageNameForClass:" : "fn 10/8/2016 15:11", @@ -22,8 +25,9 @@ "allClassesFromSpec" : "fn 11/26/2017 23:23", "allClassesNotUnderTestOf:" : "GabrielOmarCotelli 2/20/2019 18:00", "allClassesToCover" : "fn 11/26/2017 23:28", - "allMethodReferencesToCover" : "ct 9/29/2022 16:51", + "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", @@ -34,13 +38,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 13:50", + "eventualUsersForTraitsIn:" : "ct 9/29/2022 13:49", "excludedMethods" : "fn 11/22/2017 13:58", "exportResultsIn:" : "smalltalkCI 8/26/2020 14:07", "extensionMethodsForPackages" : "ct 9/29/2022 13:37", - "finishUp" : "fn 11/22/2017 13:57", + "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/29/2022 16:25", "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/SCICoverageWrapper.class/instance/mark.st b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st index 66e8c2cc..26d0dc96 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,10 @@ private mark - hasRun := true \ No newline at end of file + hasRun := true. + + (SCICodeCoverage methodIsTraitMethod: method) ifTrue: + ["update original (shared) trait method" + | original | + original := (SCICodeCoverage eventualOriginalTraitMethodFor: method) methodReference compiledMethod. + (original respondsTo: #mark) ifTrue: + [original 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..b0b8bf61 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json @@ -7,7 +7,8 @@ "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/29/2022 16:27", "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/monticello.meta/version b/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version index 69eb875a..db0066ee 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version +++ b/repository/SmalltalkCI-Coverage-Core.package/monticello.meta/version @@ -1,5 +1,5 @@ -(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. +(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 ()) \ No newline at end of file +' 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-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 0899a2c0..c942ddeb 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json @@ -6,4 +6,4 @@ "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/monticello.meta/version b/repository/SmalltalkCI-Pharo-Core.package/monticello.meta/version index cd25c819..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-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 ()) \ 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/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 2e140def..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", 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 22108d8f..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-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 ()) \ 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 From 5a069a7514270f0c0d789c6a0904608df2998013 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Thu, 29 Sep 2022 21:37:19 +0200 Subject: [PATCH 05/11] fix slip in #eventualUserReferencesOf: --- .../instance/eventualUserReferencesOf..st | 3 ++- .../SCICodeCoverage.class/methodProperties.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st index ce493b35..5a8749ac 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/eventualUserReferencesOf..st @@ -2,4 +2,5 @@ helpers eventualUserReferencesOf: methodReferenceInATrait ^ (methodReferenceInATrait respondsTo: #eventualUserReferences) - and: [methodReferenceInATrait eventualUserReferences] \ No newline at end of file + ifTrue: [methodReferenceInATrait eventualUserReferences] + ifFalse: [#()] \ 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 e6e37af2..1ae82063 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -38,7 +38,7 @@ "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 13:50", + "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", From 750908b87d7b11bbf97b0d93ed74f75f56582582 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Thu, 29 Sep 2022 22:42:22 +0200 Subject: [PATCH 06/11] further robustness fixes --- .../class/eventualOriginalTraitMethodFor..st | 2 +- .../SCICodeCoverage.class/class/methodIsTraitMethod..st | 1 + .../SCICodeCoverage.class/methodProperties.json | 4 ++-- .../SCICoverageWrapper.class/instance/mark.st | 9 +++++---- .../SCICoverageWrapper.class/methodProperties.json | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st index 1dae0f7c..12cf4bfe 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/eventualOriginalTraitMethodFor..st @@ -2,4 +2,4 @@ helpers eventualOriginalTraitMethodFor: aCompiledMethod ^ (aCompiledMethod respondsTo: #eventualOriginalTraitMethod) - and: [aCompiledMethod eventualOriginalTraitMethod] \ No newline at end of file + ifTrue: [aCompiledMethod eventualOriginalTraitMethod] \ 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 index ee50058c..ffc2ad45 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/methodIsTraitMethod..st @@ -1,5 +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/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json index 1ae82063..367c0b48 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -3,7 +3,7 @@ "cannotBeCovered:" : "ct 9/29/2022 19:59", "classNamesNotUnderTest" : "fn 11/22/2017 18:05", "coverallsDictFor:in:projectDirectory:coverageValue:" : "fn 8/6/2020 13:32", - "eventualOriginalTraitMethodFor:" : "ct 9/29/2022 13:55", + "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", @@ -12,7 +12,7 @@ "isExcluded:" : "ct 9/29/2022 13:27", "linesOf:" : "fn 11/22/2017 14:41", "md5Of:" : "fn 11/22/2017 14:42", - "methodIsTraitMethod:" : "ct 9/29/2022 13:20", + "methodIsTraitMethod:" : "ct 9/29/2022 22:34", "methodReferenceFor:selector:" : "fn 10/8/2016 15:10", "methodReferencesFor:" : "fn 11/22/2017 13:46", "packageNameForClass:" : "fn 10/8/2016 15:11", 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 26d0dc96..87034783 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st @@ -4,7 +4,8 @@ mark (SCICodeCoverage methodIsTraitMethod: method) ifTrue: ["update original (shared) trait method" - | original | - original := (SCICodeCoverage eventualOriginalTraitMethodFor: method) methodReference compiledMethod. - (original respondsTo: #mark) ifTrue: - [original mark; uninstall]]. \ No newline at end of file + (SCICodeCoverage 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/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json index b0b8bf61..a5567634 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json @@ -7,7 +7,7 @@ "hasRun" : "fn 3/26/2018 14:55", "initializeOn:" : "fn 3/26/2018 14:55", "install" : "fn 3/26/2018 14:55", - "mark" : "ct 9/29/2022 16:27", + "mark" : "ct 9/29/2022 22:00", "reference" : "fn 3/26/2018 14:55", "respondsTo:" : "ct 9/29/2022 13:55", "run:with:in:" : "fn 3/26/2018 14:55", From 10b952b893318aea7dcffed89c162754593ffd8a Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Fri, 30 Sep 2022 14:02:49 +0200 Subject: [PATCH 07/11] fix #methodReferencesFor: for traits and update tests --- .../SCICodeCoverage.class/class/localSelectorsIn..st | 4 ++++ .../SCICodeCoverage.class/class/methodReferencesFor..st | 2 +- .../SCICodeCoverage.class/methodProperties.json | 3 ++- .../SCICodeCoverageTest.class/instance/testEndToEnd.st | 4 +++- .../instance/testMethodReferences.st | 4 ++-- .../SCICodeCoverageTest.class/methodProperties.json | 4 ++-- 6 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/class/localSelectorsIn..st 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/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/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json index 367c0b48..b98e96ff 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -11,10 +11,11 @@ "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", 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 d502eabd..0513189e 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testEndToEnd.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testEndToEnd.st @@ -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/testMethodReferences.st b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testMethodReferences.st index 46e7b95d..965bf2db 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testMethodReferences.st +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/instance/testMethodReferences.st @@ -4,6 +4,6 @@ testMethodReferences self platformSupportsCoverageTesting ifFalse: [ ^ self ]. methods := SmalltalkCI codeCoverageClass methodReferencesFor: { SCICodeCoverageTestTarget }. - self assert: 4 equals: methods size. + self assert: 3 equals: methods size. methods := SmalltalkCI codeCoverageClass methodReferencesFor: { SCICodeCoverageTestTarget class }. - self assert: 5 <= 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/methodProperties.json b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json index 5b5f6a18..9f48f8d0 100644 --- a/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Tests.package/SCICodeCoverageTest.class/methodProperties.json @@ -14,9 +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", + "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" : "ct 9/10/2022 02:03", + "testMethodReferences" : "ct 9/30/2022 13:51", "testUnknownWriterClass" : "smalltalkCI 8/28/2020 14:22" } } From a1976517d627bf5156bf94c40a738bf479ccec21 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Fri, 30 Sep 2022 14:50:25 +0200 Subject: [PATCH 08/11] add missing pharo override; fix acess to code coverage class from wrapper --- .../SCICodeCoverage.class/instance/startUp.st | 1 + .../SCICodeCoverage.class/methodProperties.json | 2 +- .../class/updateCodeCoverageClass.st | 4 ++++ .../SCICoverageWrapper.class/instance/mark.st | 4 ++-- .../SCICoverageWrapper.class/methodProperties.json | 5 +++-- .../SCICoverageWrapper.class/properties.json | 2 +- .../SCIPharo34CodeCoverage.class/class/isExcluded..st | 5 +++++ .../SCIPharo34CodeCoverage.class/methodProperties.json | 1 + 8 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/class/updateCodeCoverageClass.st create mode 100644 repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/class/isExcluded..st 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 03dfdf06..6feed749 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/startUp.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/instance/startUp.st @@ -7,5 +7,6 @@ startUp "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 b98e96ff..14f5d7d4 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICodeCoverage.class/methodProperties.json @@ -47,7 +47,7 @@ "finishUp" : "ct 9/29/2022 13:57", "includedMethods" : "fn 11/22/2017 13:58", "run:" : "fn 11/30/2017 14:42", - "startUp" : "ct 9/29/2022 16:25", + "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/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 87034783..f121bad0 100644 --- a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st +++ b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/instance/mark.st @@ -2,9 +2,9 @@ private mark hasRun := true. - (SCICodeCoverage methodIsTraitMethod: method) ifTrue: + (CodeCoverageClass methodIsTraitMethod: method) ifTrue: ["update original (shared) trait method" - (SCICodeCoverage eventualOriginalTraitMethodFor: method) ifNotNil: [:original | + (CodeCoverageClass eventualOriginalTraitMethodFor: method) ifNotNil: [:original | | installedOriginal | installedOriginal := original methodReference compiledMethod. (installedOriginal respondsTo: #mark) ifTrue: diff --git a/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json b/repository/SmalltalkCI-Coverage-Core.package/SCICoverageWrapper.class/methodProperties.json index a5567634..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,14 @@ { "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" : "ct 9/29/2022 22:00", + "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", 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-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/methodProperties.json b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json index c942ddeb..7f791c38 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json +++ b/repository/SmalltalkCI-Pharo-Core.package/SCIPharo34CodeCoverage.class/methodProperties.json @@ -1,5 +1,6 @@ { "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", From 3095b6a7eb0468779f16ed4f652f0843a549eae8 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 4 Oct 2022 10:45:01 +0200 Subject: [PATCH 09/11] fix #ignoreForCoverage for older Squeak versions --- .../SCISqueakCodeCoverage.class/class/isExcluded..st | 5 +++++ .../SCISqueakCodeCoverage.class/methodProperties.json | 1 + 2 files changed, 6 insertions(+) create mode 100644 repository/SmalltalkCI-Squeak-Core.package/SCISqueakCodeCoverage.class/class/isExcluded..st 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 Date: Tue, 4 Oct 2022 10:59:52 +0200 Subject: [PATCH 10/11] Update readme on traits coverage --- docs/COVERAGE.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/COVERAGE.md b/docs/COVERAGE.md index 2279b07c..0a4d6d3f 100644 --- a/docs/COVERAGE.md +++ b/docs/COVERAGE.md @@ -43,6 +43,9 @@ If multiple of the option `#packages`, `#classes`, and `#categories` are provide 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]. From 6f6c163f0b5110954f26246c551e498f87cb39b7 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 4 Oct 2022 11:13:18 +0200 Subject: [PATCH 11/11] Restore TOC in COVERAGE.md Lol, I had installed an extension that would automatically try to regenerate the TOC upon every save (markdown.extension.toc.updateOnSave) ... --- docs/COVERAGE.md | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/docs/COVERAGE.md b/docs/COVERAGE.md index f2dc8ef9..19e82df5 100644 --- a/docs/COVERAGE.md +++ b/docs/COVERAGE.md @@ -58,18 +58,15 @@ Writing LCOV coverage info to: /path/to/coverage/lcov.info Most coverage services already support uploading coverage in the LCOV format with uploader scripts. For the most common usecases, see these instructions: -- [Coverage Testing](#coverage-testing) - - [Configuring coverage testing](#configuring-coverage-testing) - - [Uploading with different CI-services/Coverage reporters](#uploading-with-different-ci-servicescoverage-reporters) - - [Inspecting coverage locally](#inspecting-coverage-locally) - - [Coveralls](#coveralls) - - [Coveralls & Travis CI](#coveralls--travis-ci) - - [Coveralls & GitHub Actions](#coveralls--github-actions) - - [CodeCov](#codecov) - - [CodeCov & TravisCI](#codecov--travisci) - - [CodeCov & GitHub Actions](#codecov--github-actions) - - [Cobertura](#cobertura) - - [Cobertura & GitLab CI](#cobertura--gitlab-ci) +- [Inspecting coverage locally](#inspecting-coverage-locally) +- [Coveralls](#coveralls) + - [Travis CI](#coveralls--travis-ci) + - [GitHub Actions](#coveralls--github-actions) +- [CodeCov](#codecov) + - [Travis CI](#codecov--travisci) + - [GitHub Actions](#codecov--github-actions) +- [Cobertura](#cobertura) + - [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. @@ -162,7 +159,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: