Files
mercury/tests/analysis/common.sh
Zoltan Somogyi de2f7b2a0c Flatten the test directories, step 2.
Specifically, rename the following subdirectories of the test directory:

    old dir name                new dir name

    analysis/ext                analysis_external
    analysis/ctgc               analysis_ctgc
    analysis/excp               analysis_excp
    analysis/table              analysis_table
    analysis/trail              analysis_trail
    invalid/purity              invalid_purity
    analysis/sharing            analysis_sharing
    hard_coded/purity           purity
    general/accumulator         accumulator
    analysis/unused_args        analysis_unused_args
    debugger/declarative        declarative_debugger
    hard_coded/exceptions       exceptions
    general/string_format       string_format
    hard_coded/sub-modules      submodules
    hard_coded/typeclasses      typeclasses
    general/structure_reuse     structure_reuse

Some subdirectories are still there, to wit, the subdirs of the inactive
test directory stm, each of which (if I remember correctly) holds only one
test case.

The general/structure_reuse directory previously wasn't enabled; I think
this was a bug.

tests/Mmakefile:
tools/bootcheck:
    List the new test directories.

tests/Mmake.common:
    The analysis_* directories each need to know whether the workspace
    uses subdirs. This used to be controlled from one place,
    analysis/Mmakefile, but since analysis_* are not subdirs of analysis,
    we need a new central place to find this out.

tests/analysis/common.sh:
    Update documentation for the move.

tests/OLDDIRS/Mmakefile:
    Set the subdir list to empty.

tests/NEWDIRS/Mmakefile:
    Update the "this" directory's name, as well as TESTS_DIR.

    In analysis_*/Mmakefile, use the new mechanism for detecting the presence
    of subdirs.
2015-02-10 00:44:14 +11:00

51 lines
946 B
Bash

# vim: ft=sh ts=8 sts=4 sw=4 et
#-----------------------------------------------------------------------------#
# Common functions shared by the test scripts in the analysis_* directories.
MC=${MC:-mmc}
MMCMAKE="$MC --make"
failed () {
exit 1
}
check_result () {
# args: file pattern
if ! grep -q -e "$2" Mercury/analysiss/$1.analysis
then
failed
fi
}
check_statuses () {
case "`cat Mercury/analysis_statuss/* | tr -d '\n'`" in
$1) ;;
*) failed
esac
}
check_no_requests () {
case "`ls Mercury/requests`" in
"") ;;
*) failed
esac
}
check_request () {
# args: file pattern
if ! grep -q -e "$2" Mercury/requests/$1.request
then
failed
fi
}
check_imdg () {
# args: file pattern
if ! grep -q -e "$2" Mercury/imdgs/$1.imdg
then
failed
fi
}
#-----------------------------------------------------------------------------#