From d1ab8f029560057dd17d853f2ffa4dd92780e23a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 2 May 2017 14:19:30 +0200 Subject: Cleanup testscript runner diagnostics --- build2/test/script/runner.cxx | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) (limited to 'build2/test/script/runner.cxx') diff --git a/build2/test/script/runner.cxx b/build2/test/script/runner.cxx index ce32150..11873ca 100644 --- a/build2/test/script/runner.cxx +++ b/build2/test/script/runner.cxx @@ -362,7 +362,7 @@ namespace build2 if (diag) { diag_record d (error (ll)); - d << pr << " " << what << " doesn't match the expected output"; + d << pr << " " << what << " doesn't match expected"; output_info (d, op); output_info (d, eop, "expected "); @@ -484,10 +484,10 @@ namespace build2 // name suffix. For example if icase and idot flags are specified // the name will look like: // - // test/1/stdout.regex~di + // test/1/stdout.regex-di // if (rd.type == redirect_type::here_doc_regex && !rl.flags.empty ()) - rp += "~" + rl.flags; + rp += '-' + rl.flags; // Note that if would be more efficient to directly write chunks // to file rather than to compose a string first. Hower we don't @@ -663,7 +663,7 @@ namespace build2 if (diag) { diag_record d (error (ll)); - d << pr << " " << what << " doesn't match the regex"; + d << pr << " " << what << " doesn't match regex"; output_info (d, op); output_info (d, rp, "", " regex"); @@ -747,7 +747,7 @@ namespace build2 // Cast to uint16_t to avoid ambiguity with libbutl::rmdir_r(). // rmdir_status r ( - rmdir_r (p.directory (), true, static_cast (2))); + rmdir_r (p.directory (), true, static_cast (3))); if (r == rmdir_status::success || (r == rmdir_status::not_exist && t == cleanup_type::maybe)) @@ -789,7 +789,7 @@ namespace build2 // We can get not_exist here due to racing conditions, but // that's ok if somebody did our job. // - rmdir_status r (rmdir (sd, 2)); + rmdir_status r (rmdir (sd, 3)); if (r != rmdir_status::not_empty) return true; @@ -812,7 +812,7 @@ namespace build2 auto rm = [&d] (path&& p, const string&, bool interm) -> bool { if (!interm) - rmfile (d / p, 2); // That's ok if not exists. + rmfile (d / p, 3); // That's ok if not exists. return true; }; @@ -837,7 +837,7 @@ namespace build2 // a file cleanup when try to rmfile() directory instead of // file. // - rmdir_status r (rmdir (d, 2)); + rmdir_status r (rmdir (d, 3)); if (r == rmdir_status::success || (r == rmdir_status::not_exist && t == cleanup_type::maybe)) @@ -856,7 +856,7 @@ namespace build2 // Remove the file if exists. Fail otherwise. Removal of // non-existing file is not an error for 'maybe' cleanup type. // - if (rmfile (p, 2) == rmfile_status::not_exist && + if (rmfile (p, 3) == rmfile_status::not_exist && t == cleanup_type::always) fail (ll) << "registered for cleanup file " << p << " does not exist"; @@ -1251,17 +1251,16 @@ namespace build2 if (c.program.string () == "set") { if (!last) - fail (ll) << "set builtin must be the last command in a pipe"; + fail (ll) << "set builtin must be the last pipe command"; if (out.type != redirect_type::none) - fail (ll) << "set builtin stdout must not be redirected"; + fail (ll) << "set builtin stdout cannot be redirected"; if (err.type != redirect_type::none) - fail (ll) << "set builtin stderr must not be redirected"; + fail (ll) << "set builtin stderr cannot be redirected"; - if ((c.exit.comparison == exit_comparison::eq) != - (c.exit.status == 0)) - fail (ll) << "set builtin exit status must not be other than zero"; + if ((c.exit.comparison == exit_comparison::eq) != (c.exit.code == 0)) + fail (ll) << "set builtin exit code cannot be non-zero"; set_builtin (sp, c.arguments, move (ifd), ll); return true; @@ -1543,7 +1542,7 @@ namespace build2 #endif bool eq (c.exit.comparison == exit_comparison::eq); - success = valid && eq == (exit->code () == c.exit.status); + success = valid && eq == (exit->code () == c.exit.code); if (!valid || (!success && diag)) { @@ -1554,8 +1553,7 @@ namespace build2 if (!exit->normal ()) { - d << pr << " terminated abnormally" << - info << exit->description (); + d << pr << " terminated abnormally: " << exit->description (); if (exit->core ()) d << " (core dumped)"; @@ -1565,13 +1563,12 @@ namespace build2 uint16_t ec (exit->code ()); // Make sure is printed as integer. if (!valid) - d << pr << " exit status " << ec << " is invalid" << - info << "must be an unsigned integer < 256"; + d << pr << " exit code " << ec << " out of 0-255 range"; else if (!success) { if (diag) - d << pr << " exit status " << ec << (eq ? " != " : " == ") - << static_cast (c.exit.status); + d << pr << " exit code " << ec << (eq ? " != " : " == ") + << static_cast (c.exit.code); } else assert (false); -- cgit v1.1