[squeak-dev] The Inbox: SUnitGUI-ct.85.mcz
mail at jaromir.net
mail at jaromir.net
Sun Jan 23 16:21:07 UTC 2022
Hi,
#valueUnpreemptively is affected by the #priority bug reported in http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-December/217473.html
I'm not sure the behavior you describe would be fixed by fixing #priority; just guessing there might be a connection though :)
best,
~~~
^[^ Jaromir
Sent from Squeak Inbox Talk
On 2022-01-23T15:44:45+00:00, commits at source.squeak.org wrote:
> A new version of SUnitGUI was added to project The Inbox:
> http://source.squeak.org/inbox/SUnitGUI-ct.85.mcz
>
> ==================== Summary ====================
>
> Name: SUnitGUI-ct.85
> Author: ct
> Time: 23 January 2022, 4:44:44.095219 pm
> UUID: c523a4d5-d9aa-7347-8e2f-66452a540c30
> Ancestors: SUnitGUI-ct.84
>
> Proposal: Do not use #valueUnpreemptively for collecting coverage in the TestRunner. The former behavior made it impossible to interrupt a hanging test and also led to errors in all tests that try to schedule a process on a priority above the active priority.
>
> I have been happily using this setting for a few months in multiple images. The downside is that any processes running with higher-than-normal priority could interfere the results, but this only applies to code in the Kernel packages which is often not OaM-safe anyway.
>
> =============== Diff against SUnitGUI-ct.84 ===============
>
> Item was changed:
> ----- Method: TestRunner>>collectCoverageFor: (in category 'actions') -----
> collectCoverageFor: methods
> | wrappers suite |
> wrappers := methods collect: [ :each | TestCoverage on: each ].
> suite := self
> reset;
> suiteAll.
>
> + wrappers do: [ :each | each install ].
> + [ self runSuite: suite ] ensure: [ wrappers do: [ :each | each uninstall ] ].
> - [ wrappers do: [ :each | each install ].
> - [ self runSuite: suite ] ensure: [ wrappers do: [ :each | each uninstall ] ] ] valueUnpreemptively.
> wrappers := wrappers reject: [ :each | each hasRun ].
> wrappers isEmpty
> ifTrue:
> + [ self inform: 'Congratulations. Your tests cover all code under analysis.' translated ]
> - [ UIManager default inform: 'Congratulations. Your tests cover all code under analysis.' ]
> ifFalse:
> [ ToolSet
> browseMessageSet: (wrappers collect: [ :each | each reference ])
> + name: ('Not Covered Code ({1}% Code Coverage)' translated format: {100 - (100 * wrappers size // methods size)})
> - name: 'Not Covered Code (' , (100 - (100 * wrappers size // methods size)) printString , '% Code Coverage)'
> autoSelect: nil ].
> self saveResultInHistory!
>
>
More information about the Squeak-dev
mailing list
|