Tonel: fix possible endless recursion in `TonelRepository class >> discover:`
This commit fixes horrible bug in `TonelRepository class >> discover:` when
using relative directories that caused endless recursion. This is because
`Filename >> directory` does not handle well relative directories: following
code causes endless loop:
f := '.' asFilename.
[ f isRootDirectory ] whileFalse:[f := f directory].
while this one does not:
f := Filename currentDirectory.
[ f isRootDirectory ] whileFalse:[f := f directory].
Clearly, this is something that has to be fixed in `Filename`,
but meanwhile, we fix it here too.
While at it, rewrite this method using loop as opposed ro recursion.
"
COPYRIGHT (c) 2020 LabWare
"
"{ Package: 'stx:goodies/monticello/test' }"
"{ NameSpace: Smalltalk }"
TestResource subclass:#MCSnapshotResource
instanceVariableNames:'snapshot'
classVariableNames:''
poolDictionaries:''
category:'SCM-Monticello-Tests'
!
!MCSnapshotResource class methodsFor:'documentation'!
copyright
"
COPYRIGHT (c) 2020 LabWare
"
! !
!MCSnapshotResource class methodsFor:'as yet unclassified'!
mockPackage
^ (MCPackage new name: self mockPackageName)
!
mockPackageName
^ MCMockPackageInfo new packageName
!
takeSnapshot
^ self mockPackage snapshot
! !
!MCSnapshotResource methodsFor:'as yet unclassified'!
definitions
^ snapshot definitions
!
setUp
snapshot := self class takeSnapshot.
"Modified (format): / 07-07-2020 / 21:23:53 / Jan Vrany <jan.vrany@labware.com>"
!
snapshot
^ snapshot
! !
!MCSnapshotResource class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/goodies/monticello/test/MCSnapshotResource.st,v 1.2 2013-05-29 00:00:24 vrany Exp $'
! !