fate/api-tests: Add directory and Makefile for API tests
authorGeorge Boyle <george@thebuds.net>
Thu, 25 Jun 2015 17:37:10 +0000 (18:37 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 27 Jun 2015 01:42:47 +0000 (03:42 +0200)
The intention of this change is to allow separation of API tests from the
existing tests, and also to have a place for the API test source/executable
files so they're not mixed in with the actual library code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tests/Makefile
tests/api/Makefile [new file with mode: 0644]

index cffa541..f4f34a6 100644 (file)
@@ -16,7 +16,8 @@ ffservertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/data/asynth1.sw
        @echo
        $(SRC_PATH)/tests/ffserver-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/ffserver.conf
 
-OBJDIRS += tests/data tests/vsynth1 tests/data/filtergraphs
+APITESTSDIR := tests/api
+OBJDIRS += tests/data tests/vsynth1 tests/data/filtergraphs $(APITESTSDIR)
 
 $(VREF): tests/videogen$(HOSTEXESUF) | tests/vsynth1
        $(M)./$< 'tests/vsynth1/'
@@ -89,6 +90,8 @@ FILTERDEMDECENCMUX = $(call ALLYES, $(1:%=%_FILTER) $(2)_DEMUXER $(3)_DECODER $(
 
 PARSERDEMDEC       = $(call ALLYES, $(1)_PARSER $(2)_DEMUXER $(3)_DECODER)
 
+include $(SRC_PATH)/$(APITESTSDIR)/Makefile
+
 include $(SRC_PATH)/tests/fate/acodec.mak
 include $(SRC_PATH)/tests/fate/vcodec.mak
 include $(SRC_PATH)/tests/fate/avformat.mak
@@ -218,7 +221,7 @@ lcov-reset:
 
 clean:: testclean
 
-testclean:
+testclean::
        $(RM) -r tests/vsynth1 tests/data tools/lavfi-showfiltfmts$(EXESUF)
        $(RM) $(CLEANSUFFIXES:%=tests/%)
        $(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF))
diff --git a/tests/api/Makefile b/tests/api/Makefile
new file mode 100644 (file)
index 0000000..7010b00
--- /dev/null
@@ -0,0 +1,15 @@
+APITESTPROGS += $(APITESTPROGS-yes)
+
+APITESTOBJS  := $(APITESTOBJS:%=$(APITESTSDIR)%) $(APITESTPROGS:%=$(APITESTSDIR)/%-test.o)
+APITESTPROGS := $(APITESTPROGS:%=$(APITESTSDIR)/%-test$(EXESUF))
+-include $(wildcard $(APITESTOBJS:.o=.d))
+
+$(APITESTOBJS): | $(sort $(dir $(APITESTOBJS)))
+$(APITESTOBJS) $(APITESTOBJS:.o=.i): CPPFLAGS += -DTEST
+$(APITESTOBJS) $(APITESTOBJS:.o=.i): CFLAGS += -Umain
+
+$(APITESTPROGS): %$(EXESUF): %.o $(EXEOBJS)
+       $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(filter %.o,$^) $(FF_DEP_LIBS) $(FFEXTRALIBS) $(ELIBS)
+
+testclean::
+       $(RM) $(addprefix $(APITESTSDIR)/,$(CLEANSUFFIXES) *-test$(EXESUF))