From 37df262d2b0f0b8c177aa850623f2c5880484ff0 Mon Sep 17 00:00:00 2001
From: He Zhe <zhe.he@windriver.com>
Date: Wed, 30 Mar 2016 06:23:45 -0400
Subject: [PATCH] openvswitch: Add test-install rule to support ptest execution

Signed-off-by: Radu Patriu <radu.patriu@enea.com>

Fix ptest for v2.5
 - Copy certain files from srcdir since it has been different from
   build directory.
 - Copy more necessary files for new added test cases.
 - Modify config files for running on target.

Signed-off-by: He Zhe <zhe.he@windriver.com>

refresh patch to fix patch-fuzz warning
Signed-off-by: Changqing Li <changqing.li@windriver.com>

Refresh patch to fix file ptest/tests/atlocal 
contains reference to TMPDIR [buildpaths]. The fix is:
 - set EGREP to "grep -E" in ptest/tests/atlocal
 - set CFLAGS to " " in ptest/tests/atlocal

Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>

Upstream-Status: Inappropriate [embedded specific]
---
 Makefile.am |  1 +
 test.mk     | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+)
 create mode 100644 test.mk

diff --git a/Makefile.am b/Makefile.am
index 7889728..6435399 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -497,3 +497,4 @@ include windows/automake.mk
 include windows/automake.mk
 include selinux/automake.mk
 include build-aux/automake.mk
+include test.mk
diff --git a/test.mk b/test.mk
new file mode 100644
index 0000000..0b4587c
--- /dev/null
+++ b/test.mk
@@ -0,0 +1,76 @@
+TEST_DEST ?= ${prefix}/lib/openvswitch
+TEST_ROOT ?= ${prefix}/lib/openvswitch
+TEST_DEPEND =
+
+if HAVE_OPENSSL
+TEST_DEPEND += $(TESTPKI_FILES)
+endif
+
+test-install: $(TEST_DEPEND)
+	@list='$(noinst_PROGRAMS) $(EXTRA_DIST) $(dist_check_SCRIPTS) $(TEST_DEPEND) tests/atlocal tests/atconfig' ;\
+	install -d $(TEST_DEST)/tests ;\
+	install $(srcdir)/vtep/ovs-vtep $(TEST_DEST)/tests ;\
+	install -d $(TEST_DEST)/python ;\
+	install -d $(TEST_DEST)/python/ovs ;\
+	install -d $(TEST_DEST)/python/ovs/db ;\
+	install -d $(TEST_DEST)/python/ovs/compat ;\
+	install -d $(TEST_DEST)/python/ovs/compat/sortedcontainers ;\
+	install -d $(TEST_DEST)/python/ovs/unixctl ;\
+	install -d $(TEST_DEST)/vswitchd ;\
+	install $(srcdir)/vswitchd/vswitch.ovsschema $(TEST_DEST)/vswitchd ;\
+	install vswitchd/ovs-vswitchd $(TEST_DEST)/vswitchd ;\
+	install -d $(TEST_DEST)/debian ;\
+	install $(srcdir)/debian/ovs-monitor-ipsec $(TEST_DEST)/debian ;\
+	install -d $(TEST_DEST)/build-aux ;\
+	install $(srcdir)/build-aux/check-structs $(TEST_DEST)/build-aux ;\
+	install -d $(TEST_DEST)/xenserver ;\
+	install $(srcdir)/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync $(TEST_DEST)/xenserver ;\
+	install $(srcdir)/xenserver/opt_xensource_libexec_interface-reconfigure $(TEST_DEST)/xenserver ;\
+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigure.py $(TEST_DEST)/xenserver ;\
+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py $(TEST_DEST)/xenserver ;\
+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py $(TEST_DEST)/xenserver ;\
+	install -d $(TEST_DEST)/vtep ;\
+	install $(srcdir)/vtep/vtep.ovsschema $(TEST_DEST)/vtep ;\
+	install -d $(TEST_DEST)/ovn ;\
+	install $(srcdir)/ovn/ovn-nb.ovsschema $(TEST_DEST)/ovn ;\
+	install $(srcdir)/ovn/ovn-sb.ovsschema $(TEST_DEST)/ovn ;\
+	install -d $(TEST_DEST)/utilities ;\
+	install $(srcdir)/utilities/ovs-pcap.in $(TEST_DEST)/utilities ;\
+	install $(srcdir)/utilities/ovs-pki.in $(TEST_DEST)/utilities ;\
+	for p in $$list ; do \
+	  echo $$p ;\
+	  p=$${p#../sources/openvswitch*/} ;\
+	  pre=$${p#tests\/} ;\
+	  if test $$pre != $$p ; then \
+	    echo installing $$p to $(TEST_DEST)/tests/$$pre ;\
+	    if test -f $$p ; then \
+	      install $$p $(TEST_DEST)/tests/$$pre ;\
+	    else \
+	      install $(srcdir)/$$p $(TEST_DEST)/tests/$$pre ;\
+	    fi ;\
+	    continue ;\
+	  fi ;\
+	  pre=$${p#python\/ovs\/} ;\
+	  if test $$pre != $$p ; then \
+	    echo installing $$p to $(TEST_DEST)/python/ovs/$$pre ;\
+	    if test -f $$p ; then \
+	      install $$p $(TEST_DEST)/python/ovs/$$pre ;\
+	    else \
+	      install $(srcdir)/$$p $(TEST_DEST)/python/ovs/$$pre ;\
+	    fi ;\
+	    continue ;\
+	  fi; \
+	done ;\
+	sed -i 's|abs_builddir=.*|abs_builddir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
+	sed -i 's|abs_srcdir=.*|abs_srcdir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
+	sed -i 's|abs_top_srcdir=.*|abs_top_srcdir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
+	sed -i 's|abs_top_builddir=.*|abs_top_builddir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
+	sed -i 's|at_srcdir=.*|at_srcdir='"'"'.'"'"'|g' $(TEST_DEST)/tests/atconfig
+	sed -i 's|at_top_srcdir=.*|at_top_srcdir='"'"'..'"'"'|g' $(TEST_DEST)/tests/atconfig
+	sed -i 's|at_top_build_prefix=.*|at_top_build_prefix='"'"'../'"'"'|g' $(TEST_DEST)/tests/atconfig
+	sed -i 's|^\(.*config\.log.*\)|#\1|g' $(TEST_DEST)/tests/testsuite
+	sed -i 's|$$srcdir|$$abs_srcdir|g' $(TEST_DEST)/tests/testsuite
+	sed -i 's|ovs-appctl-bashcomp\.bash|/etc/bash_completion.d/ovs-appctl-bashcomp\.bash|g' $(TEST_DEST)/tests/testsuite
+	sed -i 's|ovs-vsctl-bashcomp\.bash|/etc/bash_completion.d/ovs-vsctl-bashcomp\.bash|g' $(TEST_DEST)/tests/testsuite
+	sed -i 's|EGREP=.*|EGREP='"'"'grep -E'"'"'|g' $(TEST_DEST)/tests/atlocal
+	sed -i 's|CFLAGS=.*|CFLAGS='"'"' '"'"'|g' $(TEST_DEST)/tests/atlocal
