module tests.it.runtime.issues; import tests.it.runtime; // reggae/dub build should rebuild if dub.json/sdl change @("23") @Tags(["dub", "make"]) unittest { import std.process: execute; import std.path: buildPath; with(immutable ReggaeSandbox("dub")) { runReggae("-b", "make", "--dflags=-g -debug"); make(["VERBOSE=1"]).shouldExecuteOk.shouldContain("-g -debug"); { const ret = execute(["touch", buildPath(testPath, "dub.json")]); ret.status.shouldEqual(0); } { const ret = execute(["make", "-C", testPath]); // don't assert on the status of ret - it requires rerunning reggae // and that can fail if the reggae binary isn't built yet. // Either way make should run ret.output.shouldNotContain("Nothing to be done"); } } } @ShouldFail @("62") @Tags(["dub", "make"]) unittest { with(immutable ReggaeSandbox()) { writeFile("dub.sdl", ` name "issue62" dependency "arsd-official:nanovega" version="*" `); writeFile("source/app.d", q{ import arsd.simpledisplay; import arsd.nanovega; void main () { } } ); runReggae("-b", "make"); make.shouldExecuteOk; shouldSucceed("issue62"); } }