WIP Upgrading to Nim 0.19. Getting docker pieces compiling.

* Addressing breaking changes in migration from Nim 0.18 to 0.19.
* Finishing the initial pass at the refactor required to include
  docker-based builds.
* Regaining confidence in the existing functionality by getting all
  tests passing again after docker introduction (still need new tests to
  cover new docker functionality).
This commit is contained in:
Jonathan Bernard
2018-12-09 07:09:23 -06:00
parent c827beab5e
commit b2d4df0aac
9 changed files with 150 additions and 151 deletions

View File

@ -50,7 +50,7 @@ suite "strawboss server":
@["serve", "-c", tempCfgPath], loadEnv(), {poUsePath})
# give the server time to spin up
sleep(100)
sleep(200)
teardown:
discard newAsyncHttpClient().post(apiBase & "/service/debug/stop")
@ -60,7 +60,7 @@ suite "strawboss server":
removeFile(tempCfgPath)
# give the server time to spin down but kill it after that
sleep(100)
sleep(200)
if serverProcess.running: kill(serverProcess)
test "handle missing project configuration":

View File

@ -26,7 +26,7 @@ proc waitForBuild*(client: HttpClient, apiBase, projectName, runId: string,
#echo "Checking (" & $curElapsed & " has passed)."
if curElapsed > toFloat(timeout):
raise newException(SystemError, "Timeout exceeded waiting for build.")
raise newException(Exception, "Timeout exceeded waiting for build.")
let resp = client.get(apiBase & "/project/" & projectName & "/run/" & runId)

View File

@ -1,6 +1,7 @@
import json, strtabs, times, tables, unittest, uuids
from langutils import sameContents
from timeutils import trimNanoSec
import ../../../main/nim/strawbosspkg/configuration
suite "load and save configuration objects":
@ -26,7 +27,7 @@ suite "load and save configuration objects":
stepName: "build",
buildRef: "master",
workspaceDir: "/no-real/dir",
timestamp: getLocalTime(getTime()),
timestamp: getTime().local.trimNanoSec,
forceRebuild: true)
let rrStr = $rr1
@ -107,7 +108,7 @@ suite "load and save configuration objects":
pc.steps["build"].dontSkip == true
pc.steps["build"].stepCmd == "cust-build"
pc.steps["build"].workingDir == "dir1"
pc.steps["containerImage"] == "alpine"
pc.steps["build"].containerImage == "alpine"
sameContents(pc.steps["build"].artifacts, @["bin1", "doc1"])
sameContents(pc.steps["build"].depends, @["test"])
sameContents(pc.steps["build"].expectedEnv, @["VAR1"])
@ -117,8 +118,8 @@ suite "load and save configuration objects":
pc.steps["test"].name == "test"
pc.steps["test"].dontSkip == false
pc.steps["test"].stepCmd == "true"
pc.steps["test"].workingDir == ".:
pc.steps["test"].containerImage.isNilOrEmpty
pc.steps["test"].workingDir == "."
pc.steps["test"].containerImage.len == 0
sameContents(pc.steps["test"].artifacts, @[])
sameContents(pc.steps["test"].depends, @[])
sameContents(pc.steps["test"].expectedEnv, @[])