Files
lean4/tests/lake/Makefile
Mac Malone aa3d409eb6 refactor: lake: mv tests/examples to top-level tests dir (#10688)
This PR moves Lake's test infrastructure from `src/lake` to
`tests/lake`.
2025-10-06 21:47:57 +00:00

90 lines
2.1 KiB
Makefile

LAKE ?= ./.lake/build/bin/lake
#-------------------------------------------------------------------------------
# Suite Targets
#-------------------------------------------------------------------------------
TESTS := $(addprefix tests/, $(filter-out common.sh, $(shell ls tests)))
EXAMPLES := $(addprefix examples/, $(filter-out bootstrap, $(shell ls examples)))
default: build
all: build test
test: check-lake test-ci test-bootstrap test-bootstrapped
test-ci: test-tests test-examples
test-tests: $(addsuffix .test, $(TESTS))
test-examples: $(addsuffix .test, $(EXAMPLES))
test-bootstrapped: test-bootstrapped-hello
clean: clean-tests clean-examples clean-bootstrap
clean-all: clean clean-build
clean-tests: $(addsuffix .clean, $(TESTS))
clean-examples: $(addsuffix .clean, $(EXAMPLES))
.PHONY:
all test test-ci test-tests test-examples test-bootstrap\
clean clean-all clean-tests clean-examples clean-build clean-bootstrap\
time-bootstrap check-bootstrap test-bootstrapped test-bootstrapped-hello\
$(addsuffix .clean, $(TESTS) $(EXAMPLES)) $(addsuffix .test, $(TESTS) $(EXAMPLES))
#-------------------------------------------------------------------------------
# Build Targets
#-------------------------------------------------------------------------------
build:
./build.sh
time-build:
./time-build.sh
clean-build:
./clean-build.sh
check-lake:
$(LAKE) self-check
#-------------------------------------------------------------------------------
# Test / Example Targets
#-------------------------------------------------------------------------------
tests/%.test:
cd tests/$* && ./test.sh
tests/%.online-test:
cd tests/$* && ./online-test.sh
tests/%.clean:
cd tests/$* && ./clean.sh || true
examples/%.test:
cd examples/$* && ./test.sh
examples/%.clean:
cd examples/$* && ./clean.sh || true
test-bootstrap:
cd examples/bootstrap && ./test.sh
package-bootstrap:
cd examples/bootstrap && ./package.sh
clean-bootstrap:
cd examples/bootstrap && ./clean.sh
time-bootstrap:
cd examples/bootstrap && ./time.sh
check-bootstrap:
cd examples/bootstrap && ./check.sh
test-bootstrapped-hello:
cd examples/hello && ./bootstrapped-test.sh