ref: ca5d96315e39cd86aff7474bf1105761268e2fbd
parent: 2823b295df4a95dc7ebf3e49c9b0a6fac97efe92
parent: bc27d7e96704251272ff68b1ceae1070ec9efeb3
author: Tom Finegan <[email protected]>
date: Tue May 20 11:48:04 EDT 2014
Merge "Add make target for running example tests."
--- a/build/make/Makefile
+++ b/build/make/Makefile
@@ -19,6 +19,7 @@
done
all: .DEFAULT
clean:: .DEFAULT
+exampletest: .DEFAULT
install:: .DEFAULT
test:: .DEFAULT
testdata:: .DEFAULT
@@ -105,6 +106,8 @@
.PHONY: dist
dist:
+.PHONY: exampletest
+exampletest:
.PHONY: install
install::
.PHONY: test
--- a/libs.mk
+++ b/libs.mk
@@ -556,3 +556,26 @@
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
--- a/test/examples.sh
+++ b/test/examples.sh
@@ -24,5 +24,6 @@
for test in ${example_tests}; do
# Source each test script so that exporting variables can be avoided.
+ VPX_TEST_NAME="$(basename ${test%.*})"
. "${test}"
done