@@ -58,20 +58,40 @@ suite "requires flag":
5858 let isVersion = req.contains (" ==" )
5959 # echo "Trying require: ", req
6060 let no_test = if isVersion: " -d:no_test" else : " "
61- let (output , exitCode) = execNimble (" run" , require, no_test)
62- let pkgDir = getPackageDir (pkgsDir, " json_serialization-0.2.9 " )
61+ let (_ , exitCode) = execNimble (" run" , require, no_test)
62+
6363 check exitCode == QuitSuccess
6464
6565 let (_, exitCodeTest) = execNimble (" test" , require, no_test)
6666 check exitCodeTest == QuitSuccess
6767
68- let nimbleTestDontDeleteFile = pkgDir / " json_serialization" / " nimbletest.nim"
68+ var pkgDir = " "
69+ if isVersion:
70+ pkgDir = getPackageDir (pkgsDir, " json_serialization" )
71+ else :
72+ # Special version - find the directory with nimbletest.nim
73+ for kind, dir in walkDir (pkgsDir):
74+ if kind == pcDir and dir.splitPath.tail.startsWith (" json_serialization" ):
75+ let testFile = dir / " json_serialization" / " nimbletest.nim"
76+ if fileExists (testFile):
77+ pkgDir = dir
78+ break
79+ # If no directory with nimbletest.nim found, fall back to standard function
80+ if pkgDir == " " :
81+ pkgDir = getPackageDir (pkgsDir, " json_serialization" )
82+
83+ check pkgDir != " "
84+
85+ let nimbleTestDontDeleteFile = pkgDir / " json_serialization" / " nimbletest.nim"
6986 # echo "Nimble test dont delete file: ", nimbleTestDontDeleteFile
7087 if isVersion:
71- check output.processOutput. inLines ( " Success: json_serialization installed successfully. " )
88+ # Regular version should NOT have the nimbletest.nim file
7289 check not fileExists (nimbleTestDontDeleteFile)
7390 else :
74- check output.processOutput. inLines ( " Success: json_serialization installed successfully. " )
91+ # Special version should have the nimbletest.nim file
7592 check fileExists (nimbleTestDontDeleteFile)
76- cleanDir (pkgDir) # Resets the package dir for each require
93+ # Clean up all json_serialization directories
94+ for kind, dir in walkDir (pkgsDir):
95+ if kind == pcDir and dir.splitPath.tail.startsWith (" json_serialization" ):
96+ removeDir (dir)
7797
0 commit comments