mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-19 19:33:46 +00:00
Estimated hours taken: 0.5 Fix bugs that were stopping *.res and *.out files being cleaned up properly. tests/Mmake.common: tests/general/accumulator/Mmakefile: tests/invalid/Mmakefile: tests/misc_tests/Mmakefile: tests/tabling/Mmakefile: tests/term/Mmakefile: tests/valid/Mmakefile: tests/warnings/Mmakefile: Make cleaning tasks depend on (real)clean_local rather than (real)clean. This is because tests/startup and tests/shutdown use the *_local targets. tests/general/Mmakefile: Fix bugs in the recursive mmake calls.
125 lines
3.1 KiB
Plaintext
125 lines
3.1 KiB
Plaintext
#-----------------------------------------------------------------------------#
|
|
|
|
main_target: check
|
|
|
|
include ../Mmake.common
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
SOURCES= \
|
|
aditi_update_errors.m \
|
|
aditi_update_mode_errors.m \
|
|
any_mode.m \
|
|
bigtest.m \
|
|
bind_var_errors.m \
|
|
circ_type.m \
|
|
constructor_warning.m \
|
|
det_errors.m \
|
|
duplicate_modes.m \
|
|
errors.m \
|
|
errors1.m \
|
|
errors2.m \
|
|
external.m \
|
|
ext_type_bug.m \
|
|
func_errors.m \
|
|
funcs_as_preds.m \
|
|
ho_type_mode_bug.m \
|
|
ho_unique_error.m \
|
|
inline_conflict.m \
|
|
io_in_ite_cond.m \
|
|
missing_det_decls.m \
|
|
missing_interface_import.m \
|
|
modes_erroneous.m \
|
|
mostly_uniq1.m \
|
|
mostly_uniq2.m \
|
|
multisoln_func.m \
|
|
nested_impl_in_int.m \
|
|
no_exports.m \
|
|
nullary_ho_func_error.m \
|
|
occurs.m \
|
|
partial_implied_mode.m \
|
|
polymorphic_unification.m \
|
|
pragma_c_code_and_clauses1.m \
|
|
pragma_c_code_and_clauses2.m \
|
|
pragma_c_code_no_det.m \
|
|
predmode.m \
|
|
prog_io_erroneous.m \
|
|
qual_basic_test2.m \
|
|
qualified_cons_id2.m \
|
|
some.m \
|
|
spurious_mode_error.m \
|
|
test_nested.m \
|
|
type_inf_loop.m \
|
|
type_loop.m \
|
|
type_mismatch.m \
|
|
typeclass_test_1.m \
|
|
typeclass_test_2.m \
|
|
typeclass_test_3.m \
|
|
typeclass_test_4.m \
|
|
typeclass_test_5.m \
|
|
typeclass_test_7.m \
|
|
typeclass_test_9.m \
|
|
types.m \
|
|
type_spec.m \
|
|
unbound_inst_var.m \
|
|
undef_lambda_mode.m \
|
|
undef_mode.m \
|
|
undef_symbol.m \
|
|
undef_type.m \
|
|
uniq_modes.m \
|
|
uu_type.m \
|
|
vars_in_wrong_places.m
|
|
|
|
# we do not yet pass the following tests:
|
|
# parent.undeclared_child.m (just not yet implemented)
|
|
# sub_b.m and sub_c.m (bug with dependencies & nested modules)
|
|
# freefree.m (need bromage's aliasing stuff)
|
|
# typeclass_test_8.m (minor formatting error in the output --
|
|
# the type class name should be in quotes)
|
|
|
|
MCFLAGS-aditi_update_errors = --aditi
|
|
MCFLAGS-aditi_update_mode_errors = --aditi
|
|
MCFLAGS-multisoln_func = --infer-types
|
|
MCFLAGS-any_mode = --infer-types
|
|
MCFLAGS-duplicate_modes = --verbose-error-messages
|
|
MCFLAGS-missing_interface_import = --make-interface
|
|
MCFLAGS-no_exports = --halt-at-warn
|
|
MCFLAGS-sub_c = --verbose-error-messages
|
|
|
|
# The bug is caught when generating dependencies, so it is
|
|
# easiest just to do that step.
|
|
MCFLAGS-nested_impl_in_int = --generate-dependencies
|
|
|
|
DEPS= $(SOURCES:%.m=%.dep)
|
|
DEPENDS= $(SOURCES:%.m=%.depend)
|
|
ERRS= $(SOURCES:%.m=%.err)
|
|
ERR_RESS= $(SOURCES:%.m=%.err_res)
|
|
|
|
%.err: %.m
|
|
if $(MC) $(ALL_MCFLAGS) --errorcheck-only $* > $*.err 2>&1; \
|
|
then false; else true; fi
|
|
|
|
# Some tests have more than one possible valid output, so
|
|
# we allow the test to pass if it matches *either* the .err_exp
|
|
# or the .err_exp2 file.
|
|
%.err_res: %.err %.err_exp
|
|
-rm -f $@
|
|
diff -c $*.err_exp $*.err > $@ || \
|
|
{ [ -f $*.err_exp2 ] && diff -c $*.err_exp2 $*.err > $@; }
|
|
|
|
all: check
|
|
|
|
check: $(ERRS) $(ERR_RESS)
|
|
|
|
errs: $(ERRS)
|
|
|
|
# We only need to make the dependencies for test cases consisting of
|
|
# multiple modules; currently the following are the only such cases.
|
|
depend: aditi_update_errors.depend aditi_update_mode_errors.depend \
|
|
test_nested.depend partial_implied_mode.depend
|
|
|
|
clean_local:
|
|
rm -f *.err *.err_res
|
|
|
|
#-----------------------------------------------------------------------------#
|