Skip to content
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