Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions tests/tdevelopfeature.nim
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ suite "develop feature":
pkgBName, installDir / defaultPath / pkgBName))

test "can develop global":
cleanDir installDir
cleanInstallDir()
usePackageListFile &"develop/{pkgListFileName}":
let dependencyPath = getCurrentDir() / "develop" / "dependency"

Expand Down Expand Up @@ -194,7 +194,7 @@ suite "develop feature":
check lines.inLinesOrdered(validationFailedMsg)

test "add downloaded package to the develop file":
cleanDir installDir
cleanInstallDir()
cd "develop/dependency":
usePackageListFile &"../{pkgListFileName}":
cleanFile developFileName
Expand All @@ -211,7 +211,7 @@ suite "develop feature":
&"{pkgAName}@0.6.0", pkgAAbsPath, developFileName))

test "can add not a dependency downloaded package to the develop file":
cleanDir installDir
cleanInstallDir()
cd "develop/dependency":
usePackageListFile &"../{pkgListFileName}":
cleanFile developFileName
Expand All @@ -232,7 +232,7 @@ suite "develop feature":
&"{pkgBName}@0.2.0", pkgBAbsPath, developFileName))

test "add package to develop file":
cleanDir installDir
cleanInstallDir()
cd dependentPkgPath:
usePackageListFile &"../{pkgListFileName}":
cleanFiles developFileName, dependentPkgName.addFileExt(ExeExt)
Expand Down Expand Up @@ -356,7 +356,7 @@ suite "develop feature":
check parseFile(developFileName) == parseJson(developFileContent)

test "include develop file":
cleanDir installDir
cleanInstallDir()
cd dependentPkgPath:
usePackageListFile &"../{pkgListFileName}":
cleanFiles developFileName, includeFileName,
Expand Down Expand Up @@ -412,7 +412,7 @@ suite "develop feature":
check lines.inLinesOrdered(validationFailedMsg)

test "can include file pointing to the same package":
cleanDir installDir
cleanInstallDir()
cd dependentPkgPath:
usePackageListFile &"../{pkgListFileName}":
cleanFiles developFileName, includeFileName,
Expand Down Expand Up @@ -525,7 +525,7 @@ suite "develop feature":
check parseFile(developFileName) == parseJson(emptyDevelopFileContent)

test "uninstall package with develop reverse dependencies":
cleanDir installDir
cleanInstallDir()
cd dependentPkgPath:
usePackageListFile &"../{pkgListFileName}":
const developFileContent = developFile(@[], @[depPath])
Expand Down Expand Up @@ -832,7 +832,7 @@ suite "develop feature":
(pkg32Path, freeDevFile2Path)].toHashSet))

test "create an empty develop file in some dir":
cleanDir installDir
cleanInstallDir()
let filePath = installDir / "develop.json"
cleanFile filePath
createDir installDir
Expand All @@ -851,7 +851,7 @@ suite "develop feature":
check output.processOutput.inLines(&"cannot open: {filePath}")

test "can manipulate a free develop file":
cleanDir installDir
cleanInstallDir()
cd dependentPkgPath:
usePackageListFile &"../{pkgListFileName}":
const
Expand Down Expand Up @@ -894,7 +894,7 @@ suite "develop feature":
check parseFile(developFile) == parseJson(developFileContent)

test "partial success when some operations in single command failed":
cleanDir installDir
cleanInstallDir()
cd dependentPkgPath:
usePackageListFile &"../{pkgListFileName}":
const
Expand Down
12 changes: 12 additions & 0 deletions tests/testscommon.nim
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ let
installDir* = rootDir / "tests" / "nimbleDir"
buildTests* = rootDir / "buildTests"
pkgsDir* = installDir / nimblePackagesDirName
pkgCacheDir* = installDir / "pkgcache"

proc execNimble*(args: varargs[string]): ProcessOutput =
var quotedArgs = @args
Expand Down Expand Up @@ -185,6 +186,17 @@ template cleanDir*(dirName: string) =
removeDir dirName
defer: removeDir dirName

template cleanInstallDir*(cleanPkgCache: bool = false) =
## Cleans the install directory by removing pkgs2.
## If cleanPkgCache is true, also removes the package cache.
removeDir pkgsDir
if cleanPkgCache:
removeDir pkgCacheDir
defer:
removeDir pkgsDir
if cleanPkgCache:
removeDir pkgCacheDir

template createTempDir*(dirName: string) =
createDir dirName
defer: removeDir dirName
Expand Down
10 changes: 5 additions & 5 deletions tests/tissues.nim
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ suite "issues":
test "issue 799":
# When building, any newly installed packages should be referenced via the
# path that they get permanently installed at.
cleanDir installDir
cleanInstallDir()
cd "issue799":
let (output, exitCode) = execNimbleYes("build")
check exitCode == QuitSuccess
Expand Down Expand Up @@ -135,7 +135,7 @@ suite "issues":
test "issues #308 and #515":
let
ext = when defined(Windows): ExeExt else: "out"
cleanDir(installDir)
cleanInstallDir()
cd "issue308515" / "v1":
var (output, exitCode) = execNimble(["run", "binname", "--silent"])
check exitCode == QuitSuccess
Expand Down Expand Up @@ -275,7 +275,7 @@ suite "issues":
check execNimble("tasks").exitCode == QuitSuccess

test "can build with #head and versioned package (#289)":
cleanDir(installDir)
cleanInstallDir()
cd "issue289":
check execNimbleYes("install").exitCode == QuitSuccess

Expand Down Expand Up @@ -314,7 +314,7 @@ suite "issues":
check(not lines.hasLineStartingWith("Warning:"))

test "issue 129 (installing commit hash)":
cleanDir(installDir)
cleanInstallDir()
let arguments = @["install", &"{pkgAUrl}@#1f9cb289c89"]
check execNimbleYes(arguments).exitCode == QuitSuccess
# Verify that it was installed correctly.
Expand All @@ -337,7 +337,7 @@ suite "issues":
check inLines(lines1, "The .nimble file name must match name specified inside")

test "issue 113 (uninstallation problems)":
cleanDir(installDir)
cleanInstallDir()

cd "issue113/c":
check execNimbleYes("install").exitCode == QuitSuccess
Expand Down
4 changes: 2 additions & 2 deletions tests/tlockfile.nim
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ requires "nim >= 1.5.1"

template filesAndDirsToRemove() =
removeFile pkgListFilePath
removeDir installDir
cleanInstallDir()
removeDir tempDir

template cleanUp() =
Expand Down Expand Up @@ -368,7 +368,7 @@ requires "nim >= 1.5.1"
testLockFile(@[(dep1PkgName, dep1PkgRepoPath),
(dep2PkgName, dep2PkgRepoPath)],
isNew = true)
removeDir installDir
cleanInstallDir()
let (output, exitCode) = execNimbleYes("install", "--debug")
check exitCode == QuitSuccess
let lines = output.processOutput
Expand Down
8 changes: 4 additions & 4 deletions tests/tmisctests.nim
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ suite "misc tests":
check execNimble("recurse").exitCode == QuitSuccess

test "picks #head when looking for packages":
removeDir installDir
cleanInstallDir()
cd "versionClashes" / "aporiaScenario":
let (output, exitCode) = execNimbleYes("install", "--verbose")
checkpoint output
Expand All @@ -51,7 +51,7 @@ suite "misc tests":
check exitCode == QuitSuccess

test "install with --noRebuild flag":
cleanDir(installDir)
cleanInstallDir()
cd "run":
check execNimbleYes("build").exitCode == QuitSuccess
let (output, exitCode) = execNimbleYes("install", "--noRebuild")
Expand Down Expand Up @@ -115,12 +115,12 @@ suite "misc tests":
check execNimble("list", "-i").exitCode == QuitSuccess

test "should not install submodules when --ignoreSubmodules flag is on":
cleanDir(installDir)
cleanInstallDir()
let (_, exitCode) = execNimble("--ignoreSubmodules", "install", "https://github.com/jmgomez/submodule_package")
check exitCode == QuitFailure

test "should install submodules when --ignoreSubmodules flag is off":
cleanDir(installDir)
cleanInstallDir()
let (_, exitCode) = execNimble("install", "https://github.com/jmgomez/submodule_package")
check exitCode == QuitSuccess

Expand Down
2 changes: 1 addition & 1 deletion tests/tmultipkgs.nim
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ from nimblepkg/displaymessages import pkgAlreadyExistsInTheCacheMsg
from nimblepkg/tools import getNameVersionChecksum

template installAlpha =
cleanDir installDir
cleanInstallDir()
var args {.inject.} = @["install", pkgMultiAlphaUrl]
let (output, exitCode) = execNimbleYes(args)
check exitCode == QuitSuccess
Expand Down
4 changes: 2 additions & 2 deletions tests/tnimscript.nim
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ from nimblepkg/common import cd

suite "nimscript":
test "can install nimscript package":
cleanDir installDir
cleanInstallDir()
cd "nimscript":
let
nim = findExe("nim").relativePath(base = getCurrentDir())
check execNimbleYes(["install", "--nim:" & nim]).exitCode == QuitSuccess

test "before/after install pkg dirs are correct":
cleanDir installDir
cleanInstallDir()
cd "nimscript":
let (output, exitCode) = execNimbleYes(["install", "--nim:nim"])
check exitCode == QuitSuccess
Expand Down
6 changes: 3 additions & 3 deletions tests/trequireflag.nim
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ from nimble import nimblePathsFileName

suite "requires flag":
test "can add additional requirements to package with legacy solver":
cleanDir(installDir)
cleanInstallDir()
cd "requireflag":
#legacy solver is not supported in vnext (nimble 1.0.0)
let (outp, exitCode) = execNimble("--requires: stew; results > 0.1", "--solver:legacy", "--legacy", "install")
Expand All @@ -15,7 +15,7 @@ suite "requires flag":
check outp.processOutput.inLines("Success: stew installed successfully.")

test "can add additional requirements to package with sat solver":
cleanDir(installDir)
cleanInstallDir()
cd "requireflag":
let (outp, exitCode) = execNimble("--requires: stew; results > 0.1", "--solver:sat", "install")
check exitCode == QuitSuccess
Expand Down Expand Up @@ -52,7 +52,7 @@ suite "requires flag":
"json_serialization#26bea5ffce20ae0d0855b3d61072de04d3bf9826",
"json_serialization == 0.2.9"
]
cleanDir(installDir)
cleanInstallDir()
cd "gitversions":
for req in requires:
let require = "--requires: " & req
Expand Down
8 changes: 4 additions & 4 deletions tests/truncommand.nim
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ suite "nimble run":
packagesFilePath = "develop/packages.json"

test "Run binary from dependency in Nimble cache":
cleanDir installDir
cleanInstallDir()
cleanFile dependencyPkgBinary
usePackageListFile(packagesFilePath):
cd dependencyPkgPath:
Expand All @@ -192,7 +192,7 @@ suite "nimble run":
check lines.inLinesOrdered("--arg2")

test "Run binary from develop mode dependency":
cleanDir installDir
cleanInstallDir()
cleanFiles dependencyPkgBinary, dependentPkgDevelopFile
usePackageListFile(packagesFilePath):
cd dependentPkgPath:
Expand All @@ -209,7 +209,7 @@ suite "nimble run":
check lines.inLinesOrdered("--arg2")

test "Error when specified package does not exist":
cleanDir installDir
cleanInstallDir()
cleanFile dependencyPkgBinary
usePackageListFile(packagesFilePath):
cd dependencyPkgPath:
Expand All @@ -222,7 +222,7 @@ suite "nimble run":
check output.contains(notFoundPkgWithNameInPkgDepTree("dep"))

test "Error when specified binary does not exist in specified package":
cleanDir installDir
cleanInstallDir()
cleanFile dependencyPkgBinary
usePackageListFile(packagesFilePath):
cd dependencyPkgPath:
Expand Down
2 changes: 1 addition & 1 deletion tests/tsetupcommand.nim
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ from nimblepkg/common import cd
from nimblepkg/developfile import developFileName

suite "setup command":
cleanDir installDir
cleanInstallDir()
test "nimble setup (without develop file)":
cd "setup/binary":
usePackageListFile "../../develop/packages.json":
Expand Down
2 changes: 1 addition & 1 deletion tests/ttaskdeps.nim
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ suite "Task level dependencies":
check found

test "Develop file is used":
removeDir(installDir)
cleanInstallDir()
inDir:
defer:
removeDir("vendor")
Expand Down
8 changes: 4 additions & 4 deletions tests/tuninstall.nim
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,22 @@ from nimblepkg/version import newVersion

suite "uninstall":
test "cannot install packagebin2 in --offline mode":
cleanDir(installDir)
cleanInstallDir()
let args = ["--offline", "install", pkgBin2Url]
let (output, exitCode) = execNimbleYes(args)
check exitCode != QuitSuccess
check output.contains("Cannot download in offline mode.")

test "can install packagebin2":
cleanDir(installDir)
cleanInstallDir()
let args = ["install", pkgBin2Url]
check execNimbleYes(args).exitCode == QuitSuccess

proc cannotSatisfyMsg(v1, v2: string): string =
&"Cannot satisfy the dependency on PackageA {v1} and PackageA {v2}"

test "can reject same version dependencies":
cleanDir(installDir)
cleanInstallDir()
let (outp, exitCode) = execNimbleYes("install", pkgBinUrl)
# We look at the error output here to avoid out-of-order problems caused by
# stderr output being generated and flushed without first flushing stdout
Expand All @@ -52,7 +52,7 @@ suite "uninstall":

test "can uninstall":
# setup test environment
cleanDir(installDir)
cleanInstallDir()
setupIssue27Packages()
check execNimbleYes("install", &"{pkgAUrl}@0.2").exitCode == QuitSuccess
check execNimbleYes("install", &"{pkgAUrl}@0.5").exitCode == QuitSuccess
Expand Down
Loading