# # # add_dir "tests/invalid__MTN_options" # # add_file "tests/invalid__MTN_options/__driver__.lua" # content [85eb3d527a2a443adec6e437273a7f62f6436818] # # patch "testlib.lua" # from [0e8c0415f85924dfb385a6e6a0de8b0f787a611d] # to [d9cc709658941240e8abe3f78e5b5d0beb34e867] # # patch "work.cc" # from [39fcc1fec0b072c6ec588d59586b91b42b8e824c] # to [98cdf5e6c4f56ee98abdf097c1c6acdc6a284eb1] # ============================================================ --- tests/invalid__MTN_options/__driver__.lua 85eb3d527a2a443adec6e437273a7f62f6436818 +++ tests/invalid__MTN_options/__driver__.lua 85eb3d527a2a443adec6e437273a7f62f6436818 @@ -0,0 +1,12 @@ +mtn_setup() + +check(mtn("st"), 0, false, false) + +writefile("_MTN/options", 'database "test.db"\nbranch "x"\n') +check(mtn("st"), 0, false, false) + +writefile("_MTN/options", 'database "test.db\nbranch "x"\n') +check(mtn("st"), 1, false, false) + +writefile("_MTN/options", 'database "test.db\nbranch "0"\n') +check(mtn("st"), 1, false, false) ============================================================ --- testlib.lua 0e8c0415f85924dfb385a6e6a0de8b0f787a611d +++ testlib.lua d9cc709658941240e8abe3f78e5b5d0beb34e867 @@ -602,6 +602,7 @@ function post_cmd(result, ret, stdout, s log_file_contents(ident .. "stdout") L("stderr:\n") log_file_contents(ident .. "stderr") + L("exit code: " .. result .. "\n") if result ~= ret and ret ~= false then err("Check failed (return value): wanted " .. ret .. " got " .. result, 3) end ============================================================ --- work.cc 39fcc1fec0b072c6ec588d59586b91b42b8e824c +++ work.cc 98cdf5e6c4f56ee98abdf097c1c6acdc6a284eb1 @@ -400,6 +400,8 @@ read_options_file(any_path const & optsp W(F("unrecognized key '%s' in options file %s - ignored") % opt % optspath); } + E(src.lookahead == EOF, + F("Could not parse entire options file %s") % optspath); } static void