diff mbox

zeromq: disable test using fork() when fork() is no available

Message ID 1399040498-30168-1-git-send-email-s.martin49@gmail.com
State Superseded
Headers show

Commit Message

Samuel Martin May 2, 2014, 2:21 p.m. UTC
zeromp's configure script correctly detects the fork availability, but
unconditionally build all tests.

This patch just disables the piece of code using fork() in the given
test. This avoids the autoreconf step of the package.

Fixes:
  http://autobuild.buildroot.org/results/359/3599cc3b7bf2bb22a78961cd84d21cb03cbd7015/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 ...le-code-using-fork-when-fork-is-not-avail.patch | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 package/zeromq/zeromq-0001-tests-disable-code-using-fork-when-fork-is-not-avail.patch

Comments

Thomas Petazzoni May 2, 2014, 3:45 p.m. UTC | #1
Dear Samuel Martin,

On Fri,  2 May 2014 16:21:38 +0200, Samuel Martin wrote:
> zeromp's configure script correctly detects the fork availability, but
> unconditionally build all tests.
> 
> This patch just disables the piece of code using fork() in the given
> test. This avoids the autoreconf step of the package.

Huh, but then it completely breaks the test, no? Would it be better to
find an upstreamable solution instead?

Thomas
Samuel Martin May 3, 2014, 12:09 p.m. UTC | #2
Thomas,

On Fri, May 2, 2014 at 5:45 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Samuel Martin,
>
> On Fri,  2 May 2014 16:21:38 +0200, Samuel Martin wrote:
>> zeromp's configure script correctly detects the fork availability, but
>> unconditionally build all tests.
>>
>> This patch just disables the piece of code using fork() in the given
>> test. This avoids the autoreconf step of the package.
>
> Huh, but then it completely breaks the test, no? Would it be better to
> find an upstreamable solution instead?

I don't think so.
Zeromq code already uses "#ifdef HAVE_FORK ... #endif" to protect the
section using fork; I just did the same in the test source (disabling
most/all of this test, so it now has not real meaning when fork() is
not available).

BTW, I've just come up with a proper solution just by hacking the
autotools (<ironic>my favorite build-system! </ironic>), so I'll
repost this fix shortly.

Regards,

>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
diff mbox

Patch

diff --git a/package/zeromq/zeromq-0001-tests-disable-code-using-fork-when-fork-is-not-avail.patch b/package/zeromq/zeromq-0001-tests-disable-code-using-fork-when-fork-is-not-avail.patch
new file mode 100644
index 0000000..0c17b6a
--- /dev/null
+++ b/package/zeromq/zeromq-0001-tests-disable-code-using-fork-when-fork-is-not-avail.patch
@@ -0,0 +1,32 @@ 
+From 694440779ae41f46e01a1486cbe702982c29ef0e Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Fri, 2 May 2014 16:12:20 +0200
+Subject: [PATCH] tests: disable code using fork() when fork() is not available
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ tests/test_fork.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/test_fork.cpp b/tests/test_fork.cpp
+index 637b6e9..67bc957 100644
+--- a/tests/test_fork.cpp
++++ b/tests/test_fork.cpp
+@@ -35,6 +35,7 @@ int main (void)
+     int rc = zmq_bind (pull, address);
+     assert (rc == 0);
+ 
++#ifdef HAVE_FORK
+     int pid = fork ();
+     if (pid == 0) {
+         //  Child process
+@@ -77,5 +78,6 @@ int main (void)
+         }
+         exit (0);
+     }
++#endif
+     return 0;
+ }
+-- 
+1.9.2
+