[Cuis-dev] Fix for test failures on Windows
    Weslleymberg Lisboa 
    weslleym.lisboa at gmail.com
       
    Fri Mar 14 20:42:44 PDT 2025
    
    
  
Hi,
Test runs on Windows returns two failures:
1. FileManTest>>testDefaultDirectory which was fixed changing 
FileIOAccessor>>absolutePathComponentsFor:relativeTo: to include the 
drive letter in the returned path.
2. FileManTest>>testRecursiveDelete which was fixed by removing the 
colon from the test path. The colon was causing a primitive method from 
FilePlugin to fail.
Change sets attached.
I dont know how these changes affect Unix systems, but it should not 
cause problems.
-- 
Wéslleymberg Lisboa
Graduado em Sistemas de Informação
Docente no IFFluminense - Campus Itaboraí
-------------- next part --------------
'From Cuis7.3 [latest update: #7069] on 14 March 2025 at 10:53:54 pm'!
!FileIOAccessor methodsFor: 'utilities' stamp: 'wbsl 3/14/2025 15:38:50'!
absolutePathComponentsFor: aString relativeTo: baseDirectory
	"aString is a relative path, and will be applied to baseDirectory
	See comment at #isAbsolutePathName"
	| baseDirectoryPathComponents tokens |
	baseDirectoryPathComponents := {baseDirectory drive}, baseDirectory pathComponents.
	aString = '.' ifTrue: [ ^ baseDirectoryPathComponents ].
	aString = '..' ifTrue:  [^ baseDirectoryPathComponents allButLast ].
	tokens := aString asPathTokens.
	[ tokens notEmpty and: [ tokens first = '..' ]] whileTrue: [
		baseDirectoryPathComponents := baseDirectoryPathComponents allButLast.
		tokens removeFirst ].
	^ Array streamContents: [ :strm |
		strm nextPutAll: baseDirectoryPathComponents.
		tokens do: [ :each |
			each = '.' ifFalse: [ strm nextPut: each ]]].! !
-------------- next part --------------
'From Cuis7.3 [latest update: #7070] on 14 March 2025 at 11:29:19 pm'!
!FileManTest methodsFor: 'testing' stamp: 'wbsl 3/14/2025 23:27:03'!
testRecursiveDelete
	"FileManTest debug: #testRecursiveDelete" 
	| dir |
	dir := ('./subDir' asDirectoryEntry / 'aaa\bbb' / 'ccc' / 'ddd\eee' / 'fff\ggg').
	dir at: 'test1' put: 'RecursiveDelete!!'.
	self should: [(dir at: 'test1') = 'RecursiveDelete!!'].
	dir removeKey: 'test1'.
	self shouldnt: [(dir // 'test1') exists].
	'./subDir' asDirectoryEntry recursiveDelete.
	self shouldnt: [dir exists].
	self shouldnt: ['./subDir' asDirectoryEntry exists].
	! !
    
    
More information about the Cuis-dev
mailing list