diff --git a/build/make/Makefile b/build/make/Makefile index c4d53f160..63ec271b7 100644 --- a/build/make/Makefile +++ b/build/make/Makefile @@ -19,6 +19,7 @@ ifeq ($(target),) done all: .DEFAULT clean:: .DEFAULT +exampletest: .DEFAULT install:: .DEFAULT test:: .DEFAULT testdata:: .DEFAULT @@ -105,6 +106,8 @@ distclean: clean .PHONY: dist dist: +.PHONY: exampletest +exampletest: .PHONY: install install:: .PHONY: test diff --git a/libs.mk b/libs.mk index 85c5f8a02..31e45956e 100644 --- a/libs.mk +++ b/libs.mk @@ -556,3 +556,26 @@ else utiltest: @echo Unit tests must be enabled to make the utiltest target. endif + +## +## Example tests. +## +ifeq ($(CONFIG_UNIT_TESTS),yes) +# All non-MSVC targets output example targets in a sub dir named examples. +EXAMPLES_BIN_PATH = examples +ifeq ($(CONFIG_MSVS),yes) +# MSVC will build both Debug and Release configurations of the examples in a +# sub directory named for the current target. Assume the user wants to +# run the Release tools, and assign EXAMPLES_BIN_PATH accordingly. +# TODO(tomfinegan): Is this adequate for ARM? +# TODO(tomfinegan): Support running the debug versions of tools? +EXAMPLES_BIN_PATH := $(TGT_OS:win64=x64)/Release +endif +exampletest: examples testdata + $(qexec)$(SRC_PATH_BARE)/test/examples.sh \ + --test-data-path $(LIBVPX_TEST_DATA_PATH) \ + --bin-path $(EXAMPLES_BIN_PATH) +else +exampletest: + @echo Unit tests must be enabled to make the exampletest target. +endif diff --git a/test/examples.sh b/test/examples.sh index ac2a18c03..7ba9ccef9 100755 --- a/test/examples.sh +++ b/test/examples.sh @@ -24,5 +24,6 @@ done for test in ${example_tests}; do # Source each test script so that exporting variables can be avoided. + VPX_TEST_NAME="$(basename ${test%.*})" . "${test}" done