Squashed commit of the following:
commit 88952f0ab2
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 18:27:04 2018 +0700
rolling back the --coverage option
commit 29cd54ea8c
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 18:12:33 2018 +0700
another attempt
commit c2ee6da367
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 17:54:53 2018 +0700
trying to get the sanitization to work here
commit 317801ca5e
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 17:10:36 2018 +0700
added -lprofile_rt
commit 3923da14f7
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 16:56:32 2018 +0700
attempting new timed wait for OSX
commit 5aa691cc3a
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 16:32:11 2018 +0700
adding valgrind to build
commit 04712d57f4
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 16:09:34 2018 +0700
changin pipe mode
commit ed4c861e78
Author: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Mon Nov 12 15:37:08 2018 +0700
trying to filter section warnings
The use of the WIFSTOPPED bits did not go far enough on Solaris. It
is expected to also have a non-zero value in the next bytes. This
new value is tested be valid on Linux, MacOS and Solaris.
Fixes#51
Explicitly specifying an executable (either with boost::filesystem::path
or boost::process::exe) and no arguments causes NULL to be passed as the
argument list.
Not only is this unexpected behaviour for the child process (which
doesn't even have argv[0]), it is not portable across UNIX systems. From
the execve(2) man page on Linux:
"On Linux, either argv or envp can be specified as NULL, which has the
same effect as specifying these arguments as a pointer to a list
containing a single NULL pointer. Do not take advantage of this
misfeature! It is nonstandard and nonportable: on most other UNIX
systems doing this will result in an error (EFAULT)."