[squeak-dev] The Inbox: SUnitGUI-ct.85.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Jan 23 15:44:45 UTC 2022


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