SUS says:
    When jobs reports the termination status of a job,
    the shell removes its process ID from the list of those
    "known in the current shell execution environment";

With NetBSD /bin/sh, the list involves zombie processes and
ends up with "can not fork" during test runs.
---
 tests/automake.mk          | 13 ++++++-------
 tests/testsuite.unix.patch | 10 ++++++++++
 2 files changed, 16 insertions(+), 7 deletions(-)
 create mode 100644 tests/testsuite.unix.patch

diff --git a/tests/automake.mk b/tests/automake.mk
index 3118bbc..fef5db9 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -12,7 +12,8 @@ EXTRA_DIST += \
        tests/atlocal.in \
        $(srcdir)/package.m4 \
        $(srcdir)/tests/testsuite \
-       $(srcdir)/tests/testsuite.patch
+       $(srcdir)/tests/testsuite.patch \
+       $(srcdir)/tests/testsuite.unix.patch
 
 COMMON_MACROS_AT = \
        tests/ovsdb-macros.at \
@@ -125,7 +126,11 @@ SYSTEM_OFFLOADS_TESTSUITE_AT = \
 check_SCRIPTS += tests/atlocal
 
 TESTSUITE = $(srcdir)/tests/testsuite
+if WIN32
 TESTSUITE_PATCH = $(srcdir)/tests/testsuite.patch
+else
+TESTSUITE_PATCH = $(srcdir)/tests/testsuite.unix.patch
+endif
 SYSTEM_KMOD_TESTSUITE = $(srcdir)/tests/system-kmod-testsuite
 SYSTEM_USERSPACE_TESTSUITE = $(srcdir)/tests/system-userspace-testsuite
 SYSTEM_OFFLOADS_TESTSUITE = $(srcdir)/tests/system-offloads-testsuite
@@ -249,16 +254,10 @@ clean-local:
 
 AUTOTEST = $(AUTOM4TE) --language=autotest
 
-if WIN32
 $(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT) $(TESTSUITE_PATCH)
        $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o testsuite.tmp [email protected]
        patch -p0 testsuite.tmp $(TESTSUITE_PATCH)
        $(AM_V_at)mv testsuite.tmp $@
-else
-$(TESTSUITE): package.m4 $(TESTSUITE_AT) $(COMMON_MACROS_AT)
-       $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o [email protected] [email protected]
-       $(AM_V_at)mv [email protected] $@
-endif
 
 $(SYSTEM_KMOD_TESTSUITE): package.m4 $(SYSTEM_TESTSUITE_AT) 
$(SYSTEM_KMOD_TESTSUITE_AT) $(COMMON_MACROS_AT)
        $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -o [email protected] [email protected]
diff --git a/tests/testsuite.unix.patch b/tests/testsuite.unix.patch
new file mode 100644
index 0000000..f56daf0
--- /dev/null
+++ b/tests/testsuite.unix.patch
@@ -0,0 +1,10 @@
+--- testsuite  2017-07-14 13:41:25.000000000 +0000
++++ testsuite  2017-07-14 13:44:04.000000000 +0000
+@@ -5959,6 +5959,7 @@ $as_echo "$as_me: WARNING: unable to par
+       echo >&7
+     ) &
+     $at_job_control_off
++    jobs > /dev/null || :  # drain the list of jobs
+     if $at_first; then
+       at_first=false
+       exec 6<"$at_job_fifo" 7>"$at_job_fifo"
-- 
2.5.4 (Apple Git-61)

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to