src/HOL/Mutabelle/lib/Tools/mutabelle
author bulwahn
Sat, 11 Feb 2012 11:36:23 +0100
changeset 46453 9e83b7c24b05
parent 46452 e4f1cda51df6
child 46454 d72ab6bf6e6d
permissions -rwxr-xr-x
making max_mutants an option that can be changed in the Mutabelle-script
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     1
#!/usr/bin/env bash
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     2
#
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     3
# Author: Lukas Bulwahn
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     4
#
41309
2e9bf718a7a1 some attempts to fit diagnostic output into regular TTY (75-80 characters per line);
wenzelm
parents: 41191
diff changeset
     5
# DESCRIPTION: mutant-testing for counterexample generators and automated tools
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     6
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     7
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     8
PRG="$(basename "$0")"
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
     9
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    10
function usage() {
42119
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
    11
  [ -n "$MUTABELLE_OUTPUT_PATH" ] || MUTABELLE_OUTPUT_PATH="None"
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    12
  echo
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    13
  echo "Usage: isabelle $PRG [OPTIONS] THEORY"
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    14
  echo
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    15
  echo "  Options are:"
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    16
  echo "    -L LOGIC     parent logic to use (default $MUTABELLE_LOGIC)"
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    17
  echo "    -T THEORY    parent theory to use (default $MUTABELLE_IMPORT_THEORY)"
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    18
  echo "    -O DIR       output directory for test data (default $MUTABELLE_OUTPUT_PATH)"
46310
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
    19
  echo "    -N NUMBER    number of lemmas to choose randomly, if not given all lemmas are chosen"
46453
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
    20
  echo "    -M NUMBER    number of mutants for each lemma (default $MUTABELLE_NUMBER_OF_MUTANTS)"
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    21
  echo
41309
2e9bf718a7a1 some attempts to fit diagnostic output into regular TTY (75-80 characters per line);
wenzelm
parents: 41191
diff changeset
    22
  echo "  THEORY is the name of the theory of which all theorems should be"
2e9bf718a7a1 some attempts to fit diagnostic output into regular TTY (75-80 characters per line);
wenzelm
parents: 41191
diff changeset
    23
  echo "  mutated and tested."
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    24
  echo
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    25
  exit 1
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    26
}
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    27
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    28
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    29
## process command line
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    30
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    31
# options
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    32
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    33
MUTABELLE_IMPORTS=""
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    34
46453
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
    35
while getopts "L:T:O:N:M:" OPT
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    36
do
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    37
  case "$OPT" in
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    38
    L)
41021
3efa0ec42ed4 adapting copied bash code in mutabelle script
bulwahn
parents: 40975
diff changeset
    39
      MUTABELLE_LOGIC="$OPTARG"
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    40
      ;;
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    41
    T)
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    42
      MUTABELLE_IMPORTS="$MUTABELLE_IMPORTS \"$OPTARG\""
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    43
      ;;
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    44
    O)      
41021
3efa0ec42ed4 adapting copied bash code in mutabelle script
bulwahn
parents: 40975
diff changeset
    45
      MUTABELLE_OUTPUT_PATH="$OPTARG"
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    46
      ;;
46310
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
    47
    N)
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
    48
      NUMBER_OF_LEMMAS="$OPTARG"
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
    49
      ;;
46453
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
    50
    M)
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
    51
      MUTABELLE_NUMBER_OF_MUTANTS="$OPTARG"
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
    52
      ;;
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    53
    \?)
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    54
      usage
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    55
      ;;
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    56
  esac
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    57
done
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    58
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    59
shift $(($OPTIND - 1))
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    60
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    61
if [ "$MUTABELLE_IMPORTS" = "" ]
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    62
then
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    63
  MUTABELLE_IMPORTS="$MUTABELLE_IMPORT_THEORY"
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    64
fi
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    65
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    66
[ "$#" -ne 1 ] && usage
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    67
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    68
MUTABELLE_TEST_THEORY="$1"
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    69
42119
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
    70
if [ -z "$MUTABELLE_OUTPUT_PATH" ]; then
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
    71
  MUTABELLE_OUTPUT_PATH="${ISABELLE_TMP_PREFIX}-mutabelle$$"
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
    72
  PURGE_OUTPUT="true"
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
    73
fi
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
    74
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    75
export MUTABELLE_OUTPUT_PATH
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    76
46310
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
    77
if [ "$NUMBER_OF_LEMMAS" != "" ]; then
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
    78
  MUTABELLE_FILTER="|> MutabelleExtra.take_random $NUMBER_OF_LEMMAS"
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
    79
fi
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    80
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    81
## main
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    82
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    83
echo "Starting Mutabelle..."
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    84
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
    85
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    86
# setup
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    87
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
    88
mkdir -p "$MUTABELLE_OUTPUT_PATH"
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    89
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    90
echo "theory Mutabelle_Test
43149
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
    91
imports \"~~/src/HOL/Library/Quickcheck_Narrowing\" $MUTABELLE_IMPORTS
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    92
uses     
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    93
  \"$MUTABELLE_HOME/mutabelle.ML\"
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    94
  \"$MUTABELLE_HOME/mutabelle_extra.ML\"
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    95
begin
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    96
45040
8570623e3b6d changing quickcheck_timeout to 30 seconds in mutabelle's testing
bulwahn
parents: 43912
diff changeset
    97
declare [[quickcheck_timeout = 30]]
8570623e3b6d changing quickcheck_timeout to 30 seconds in mutabelle's testing
bulwahn
parents: 43912
diff changeset
    98
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
    99
ML {*
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   100
val mtds = [
43912
13e6a4e70219 exporting function in quickcheck; adapting mutabelle script
bulwahn
parents: 43380
diff changeset
   101
  MutabelleExtra.quickcheck_mtd (Context.proof_map (Quickcheck.set_active_testers [\"random\"])) \"random\",
46453
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
   102
  MutabelleExtra.quickcheck_mtd (Context.proof_map (Quickcheck.set_active_testers [\"random\"]) #> Config.put Quickcheck.finite_types false) \"random_int\",
43912
13e6a4e70219 exporting function in quickcheck; adapting mutabelle script
bulwahn
parents: 43380
diff changeset
   103
  MutabelleExtra.quickcheck_mtd (Context.proof_map (Quickcheck.set_active_testers [\"exhaustive\"])) \"exhaustive\",
46453
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
   104
  MutabelleExtra.quickcheck_mtd (Context.proof_map (Quickcheck.set_active_testers [\"exhaustive\"]) #> Config.put Quickcheck.finite_types false) \"exhaustive_int\",
45165
f4896c792316 adding testing of quickcheck narrowing with finite types to mutabelle script; modified is_executable in mutabelle_extra
bulwahn
parents: 45040
diff changeset
   105
  MutabelleExtra.quickcheck_mtd (Context.proof_map (Quickcheck.set_active_testers [\"narrowing\"]) #> Config.put Quickcheck.finite_types true) \"narrowing\",
46453
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
   106
  MutabelleExtra.quickcheck_mtd (Context.proof_map (Quickcheck.set_active_testers [\"narrowing\"]) #> Config.put Quickcheck.finite_types false) \"narrowing_int\",
43912
13e6a4e70219 exporting function in quickcheck; adapting mutabelle script
bulwahn
parents: 43380
diff changeset
   107
  MutabelleExtra.quickcheck_mtd (Context.proof_map (Quickcheck.set_active_testers [\"narrowing\"]) #> Config.put Quickcheck.finite_types false
45165
f4896c792316 adding testing of quickcheck narrowing with finite types to mutabelle script; modified is_executable in mutabelle_extra
bulwahn
parents: 45040
diff changeset
   108
    #> Context.proof_map (Quickcheck.map_test_params (apfst (K [@{typ nat}])))) \"narrowing_nat\"
46452
e4f1cda51df6 increase timeout to 30 seconds; changing mutabelle script
bulwahn
parents: 46310
diff changeset
   109
(*, MutabelleExtra.refute_mtd, *)
e4f1cda51df6 increase timeout to 30 seconds; changing mutabelle script
bulwahn
parents: 46310
diff changeset
   110
  , MutabelleExtra.nitpick_mtd
e4f1cda51df6 increase timeout to 30 seconds; changing mutabelle script
bulwahn
parents: 46310
diff changeset
   111
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   112
]
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   113
*}
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   114
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   115
ML {*
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   116
fun mutation_testing_of thy =
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   117
  (MutabelleExtra.random_seed := 1.0;
46310
8af202923906 more configurations to mutabelle
bulwahn
parents: 45397
diff changeset
   118
  MutabelleExtra.thms_of false thy $MUTABELLE_FILTER 
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   119
  |> (fn thms => MutabelleExtra.mutate_theorems_and_write_report
46453
9e83b7c24b05 making max_mutants an option that can be changed in the Mutabelle-script
bulwahn
parents: 46452
diff changeset
   120
         @{theory} $MUTABELLE_NUMBER_OF_MUTANTS mtds thms (\"$MUTABELLE_OUTPUT_PATH/log\")))
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   121
*}
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   122
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   123
ML {*
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   124
  mutation_testing_of @{theory $MUTABELLE_TEST_THEORY}
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   125
*}
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   126
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
   127
end" > "$MUTABELLE_OUTPUT_PATH/Mutabelle_Test.thy"
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   128
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
   129
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   130
# execution
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   131
45386
cfc8a0661310 align columns in output and keep error log around
blanchet
parents: 45227
diff changeset
   132
"$ISABELLE_PROCESS" -e 'use_thy "$MUTABELLE_OUTPUT_PATH/Mutabelle_Test"' -q "$MUTABELLE_LOGIC" > "$MUTABELLE_OUTPUT_PATH/err" 2>&1
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
   133
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
   134
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
   135
[ $? -ne 0 ] && echo "isabelle processing of mutabelle failed"
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   136
41949
f9a2e10c49cb more conventional Mutabelle settings -- similar to Mirabelle;
wenzelm
parents: 41309
diff changeset
   137
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   138
# make statistics
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   139
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
   140
function count() {
45397
20128348e9b9 revived Refute in Mutabelle
blanchet
parents: 45386
diff changeset
   141
  cat "$MUTABELLE_OUTPUT_PATH/log" | grep "$1: $2" | wc -l | sed "s/     //"
41077
fd6f41d349ef improving the mutabelle script
bulwahn
parents: 41021
diff changeset
   142
}
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   143
43149
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
   144
function mk_stat() {
45397
20128348e9b9 revived Refute in Mutabelle
blanchet
parents: 45386
diff changeset
   145
  printf "%-40s C:$(count $1 "GenuineCex")  P:$(count $1 "PotentialCex")  N:$(count $1 "NoCex")  T:$(count $1 "Timeout")  D:$(count $1 "Donno")  E: $(count $1 "Error")\n" "$1"
43149
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
   146
}
40975
498f272b4bcb adding mutabelle as a component and an isabelle tool to be used in regression testing
bulwahn
parents:
diff changeset
   147
43149
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
   148
mk_stat "quickcheck_random"
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
   149
mk_stat "quickcheck_exhaustive"
45227
f00a1aee5bc2 improving mutabelle script again after missing some changes in f4896c792316
bulwahn
parents: 45165
diff changeset
   150
mk_stat "quickcheck_exhaustive_no_finite_types"
43149
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
   151
mk_stat "quickcheck_narrowing"
45227
f00a1aee5bc2 improving mutabelle script again after missing some changes in f4896c792316
bulwahn
parents: 45165
diff changeset
   152
mk_stat "quickcheck_narrowing_no_finite_types"
43149
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
   153
mk_stat "quickcheck_narrowing_nat"
45397
20128348e9b9 revived Refute in Mutabelle
blanchet
parents: 45386
diff changeset
   154
mk_stat "refute"
43149
9675d631df3d adding quickcheck narrowing to mutabelle script; deactivating nitpick in mutabelle script momentarily because we are not monitoring the results effectively
bulwahn
parents: 43148
diff changeset
   155
mk_stat "nitpick"
42119
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
   156
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
   157
## cleanup
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
   158
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
   159
if [ -n "$PURGE_OUTPUT" ]; then
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
   160
  rm -rf "$MUTABELLE_OUTPUT_PATH"
21714b0de625 eliminated hardwired MUTABELLE_OUTPUT_PATH (cf. 6a147393c62a)
krauss
parents: 41949
diff changeset
   161
fi