Skip to content

Revert "Improved invariants" #1171

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ install:

script:
- if [ -e bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
COMMAND="env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test CXX=\"$COMPILER\" CXXFLAGS=\"-Wall -Werror -pedantic -O2 -g $EXTRA_CXXFLAGS\"" &&
COMMAND="env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test" &&
eval ${PRE_COMMAND} ${COMMAND}
- COMMAND="make -C unit CXX=\"$COMPILER\" CXXFLAGS=\"-Wall -Werror -pedantic -O2 -g $EXTRA_CXXFLAGS\" -j2" &&
eval ${PRE_COMMAND} ${COMMAND}
Expand Down
1 change: 0 additions & 1 deletion regression/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ DIRS = ansi-c \
goto-instrument \
goto-instrument-typedef \
goto-diff \
invariants \
test-script \
# Empty last line

Expand Down
4 changes: 4 additions & 0 deletions regression/cbmc/invariant-failure/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
int main()
{
return 0;
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
CORE
dummy_parameter.c
string
main.c
--test-invariant-failure
^EXIT=(0|127|134|137)$
^SIGNAL=0$
--- begin invariant violation report ---
Test invariant failure
Invariant check failed
^(Backtrace)|(Backtraces not supported)$
--
Expand Down
1 change: 0 additions & 1 deletion regression/invariants/.gitignore

This file was deleted.

32 changes: 0 additions & 32 deletions regression/invariants/Makefile

This file was deleted.

88 changes: 0 additions & 88 deletions regression/invariants/driver.cpp

This file was deleted.

13 changes: 0 additions & 13 deletions regression/invariants/invariant-failure10/test.desc

This file was deleted.

12 changes: 0 additions & 12 deletions regression/invariants/invariant-failure11/test.desc

This file was deleted.

13 changes: 0 additions & 13 deletions regression/invariants/invariant-failure12/test.desc

This file was deleted.

13 changes: 0 additions & 13 deletions regression/invariants/invariant-failure2/test.desc

This file was deleted.

12 changes: 0 additions & 12 deletions regression/invariants/invariant-failure3/test.desc

This file was deleted.

13 changes: 0 additions & 13 deletions regression/invariants/invariant-failure4/test.desc

This file was deleted.

12 changes: 0 additions & 12 deletions regression/invariants/invariant-failure5/test.desc

This file was deleted.

13 changes: 0 additions & 13 deletions regression/invariants/invariant-failure6/test.desc

This file was deleted.

12 changes: 0 additions & 12 deletions regression/invariants/invariant-failure7/test.desc

This file was deleted.

13 changes: 0 additions & 13 deletions regression/invariants/invariant-failure8/test.desc

This file was deleted.

12 changes: 0 additions & 12 deletions regression/invariants/invariant-failure9/test.desc

This file was deleted.

21 changes: 21 additions & 0 deletions src/cbmc/cbmc_parse_options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,27 @@ void cbmc_parse_optionst::get_command_line_options(optionst &options)
exit(1); // should contemplate EX_USAGE from sysexits.h
}

// Test only; do not use for input validation
if(cmdline.isset("test-invariant-failure"))
{
// Have to catch this as the default handling of uncaught exceptions
// on windows appears to be silent termination.
try
{
INVARIANT(0, "Test invariant failure");
}
catch (const invariant_failedt &e)
{
std::cerr << e.what();
exit(0); // should contemplate EX_OK from sysexits.h
}
catch (...)
{
error() << "Unexpected exception type\n";
}
exit(1);
}

if(cmdline.isset("program-only"))
options.set_option("program-only", true);

Expand Down
1 change: 1 addition & 0 deletions src/cbmc/cbmc_parse_options.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ class optionst;
"(java-cp-include-files):" \
"(localize-faults)(localize-faults-method):" \
"(lazy-methods)" \
"(test-invariant-failure)" \
"(fixedbv)(floatbv)(all-claims)(all-properties)" // legacy, and will eventually disappear // NOLINT(whitespace/line_length)

class cbmc_parse_optionst:
Expand Down
Loading