ltlgrind: improve error message when formulas are missing
The error message, inherited from ltl2tgba, used to say "No formula to translate", but "translate" isn't appropriate here. * bin/common_finput.cc, bin/common_finput.hh (check_no_formula): Allow "translate" to be changed. * bin/ltlgrind.cc: Change it. * tests/core/ltlgrind.test: Test it.
This commit is contained in:
parent
3693bbab08
commit
436e5a2d7f
4 changed files with 13 additions and 5 deletions
|
|
@ -388,14 +388,14 @@ job_processor::run()
|
|||
return error;
|
||||
}
|
||||
|
||||
void check_no_formula()
|
||||
void check_no_formula(const char* action)
|
||||
{
|
||||
if (!jobs.empty())
|
||||
return;
|
||||
if (isatty(STDIN_FILENO))
|
||||
error(2, 0, "No formula to translate? Run '%s --help' for help.\n"
|
||||
error(2, 0, "No formula to %s? Run '%s --help' for help.\n"
|
||||
"Use '%s -' to force reading formulas from the standard "
|
||||
"input.", program_name, program_name);
|
||||
"input.", action, program_name, program_name);
|
||||
jobs.emplace_back("-", job_type::LTL_FILENAME);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,5 +93,5 @@ public:
|
|||
|
||||
// Report and error message or add a default job depending on whether
|
||||
// the input is a tty.
|
||||
void check_no_formula();
|
||||
void check_no_formula(const char* action = "translate");
|
||||
void check_no_automaton();
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ main(int argc, char* argv[])
|
|||
|
||||
mut_opts |= opt_all;
|
||||
|
||||
check_no_formula();
|
||||
check_no_formula("mutate");
|
||||
|
||||
mutate_processor processor;
|
||||
if (processor.run())
|
||||
|
|
|
|||
|
|
@ -200,3 +200,11 @@ EOF
|
|||
|
||||
ltlgrind -f 'a U b' -m 999999999999999999999999999 2>err && exit 1
|
||||
grep 'too large' err
|
||||
|
||||
# The following message appears only if run from a tty.
|
||||
if (: > /dev/tty) >/dev/null 2>&1 ; then
|
||||
ltlgrind </dev/tty 2>err && exit 1
|
||||
grep 'No formula to mutate' err
|
||||
fi
|
||||
|
||||
:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue