pharo-vcs / iceberg

Iceberg is the main toolset for handling VCS in Pharo.
MIT License
134 stars 85 forks source link

Ci issues #1797

Closed hernanmd closed 9 months ago

hernanmd commented 9 months ago

This PR address two current errors reported by the Pharo CI:

ProperMethodCategorizationTest
 ✗ #testNoUncategorizedMethods (15ms)
TestFailure: the following classes have uncategorized methods: an OrderedCollection(IceTipPackageModel class)
ProperMethodCategorizationTest(TestAsserter)>>assert:description:resumable:
ProperMethodCategorizationTest(TestAsserter)>>assert:description:
ProperMethodCategorizationTest>>testNoUncategorizedMethods ...assert: remaining isEmpty description: 'the following classes have uncategorized methods: ' , remaining asString
ProperMethodCategorizationTest(TestCase)>>performTest

ReleaseTest
 ✗ #testThatThereAreNoSelectorsRemain...tAreSentButNotImplemented (658ms)
TestFailure: an OrderedCollection('DeprecationTest>>#testTransformingDeprecation' 'IceTipCherryPickCommand>>#selectedCommitish' 'IceTipInspectCommand>>#item' 'TIceRepositoryReader classTrait>>#id' 'TIceRepositoryWriter classTrait>>#id') should have been empty
ReleaseTest(TestAsserter)>>assert:description:resumable:
ReleaseTest(TestAsserter)>>assert:description:
ReleaseTest(TestAsserter)>>assertEmpty:
ReleaseTest>>testThatThereAreNoSelectorsRemainingThatAreSentButNotImplemented ...assertEmpty: (violations difference: knownFailures)
ReleaseTest(TestCase)>>performTest

The problem with the unused method id is the required message, which is not implemeted.

The only user is IceRepositoryProperties>>readerClass. This method sends users as follows:

readerClass
    ^ TIceRepositoryReader users detect: [ :each | each id = self fileFormat id  ]

so the users could be:

which have their own implementation of id, answering #tonel or #filetree

The required method was implemented in MetacelloMCVersionSpecLoader as:

required

    required == nil ifTrue: [ ^#() ].
    ^ required

but it is not present anymore.

hernanmd commented 9 months ago

IceTipInspectCommand>>item is sending an unimplemented message. realObject was present in IceTipCachedModel, but that class was removed. Since this method is only calling super and Iceberg cached model was deleted, it seems we could safely remove it.