- /+ dub.sdl:
- name "0-init-fail-json"
- dependency "common" path="./common"
- +/
-
- module _0_init_fail_json;
-
- import std.file : exists, remove;
- import std.path : buildPath;
- import std.process : environment, spawnProcess, wait;
-
- import common;
-
- int main()
- {
- enum packname = "0-init-fail-pack";
- enum deps = "logger PACKAGE_DONT_EXIST"; // would be very unlucky if it does exist...
-
- auto dub = environment.get("DUB");
- if (!dub.length)
- die(`Environment variable "DUB" must be defined to run the tests.`);
-
- //** if $$DUB init -n $packname $deps -f json 2>/dev/null; then
- if (!spawnProcess([dub, "init", "-n", packname, deps, "-f", "json"]).wait)
- die("Init with unknown non-existing dependency expected to fail");
-
- //** if [ -e $packname/dub.json ]; then # package is there, it should have failed
- const filepath = buildPath(packname, "dub.json");
- if (filepath.exists)
- {
- remove(packname);
- die(filepath ~ " was not created");
- }
-
- return 0;
- }