Browse Source

gnu: ninja: Disable testcase SubprocessTest.InterruptChild.

* gnu/packages/patches/ninja-tests.patch: New file.
* gnu/packages/ninja.scm (ninja): Add the patch.
* gnu-system.am (dist_patch_DATA): Add it.
version-0.8.3
宋文武 8 years ago
parent
commit
2b2f91ad87
  1. 1
      gnu-system.am
  2. 16
      gnu/packages/ninja.scm
  3. 44
      gnu/packages/patches/ninja-tests.patch

1
gnu-system.am

@ -422,6 +422,7 @@ dist_patch_DATA = \
gnu/packages/patches/mupdf-buildsystem-fix.patch \
gnu/packages/patches/mutt-CVE-2014-9116.patch \
gnu/packages/patches/net-tools-bitrot.patch \
gnu/packages/patches/ninja-tests.patch \
gnu/packages/patches/nss-pkgconfig.patch \
gnu/packages/patches/nvi-assume-preserve-path.patch \
gnu/packages/patches/orpheus-cast-errors-and-includes.patch \

16
gnu/packages/ninja.scm

@ -34,7 +34,8 @@
"archive/v" version ".tar.gz"))
(sha256
(base32
"1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw"))))
"1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw"))
(patches (list (search-patch "ninja-tests.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -52,18 +53,7 @@
(lambda _
(and (zero? (system* "./configure.py"))
(zero? (system* "./ninja" "ninja_test"))
;; SubprocessTest.SetWithLots fails with:
;; Raise [ulimit -n] well above 1025 to make this test go.
;; Skip it.
;;
;; SubprocessTest.InterruptChild fails when using 'system*':
;; *** Failure in src/subprocess_test.cc:83
;; ExitInterrupted == subproc->Finish()
;; Pass it by using 'system' instead of 'system*'.
(zero? (system (string-append
"./ninja_test "
"--gtest_filter="
"-SubprocessTest.SetWithLots")))))
(zero? (system* "./ninja_test"))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)

44
gnu/packages/patches/ninja-tests.patch

@ -0,0 +1,44 @@
SubprocessTest.SetWithLots fails with:
Raise [ulimit -n] well above 1025 to make this test go.
Skip it.
SubprocessTest.InterruptChild fails when using 'system*':
*** Failure in src/subprocess_test.cc:83
ExitInterrupted == subproc->Finish()
I can pass it by using 'system' instead of 'system*' when building locally,
but it still failed on Hydra. Skip it.
--- ninja-1.5.3.orig/src/subprocess_test.cc 2015-01-15 10:34:28.859522176 +0800
+++ ninja-1.5.3/src/subprocess_test.cc 2015-01-15 10:37:52.969572075 +0800
@@ -72,6 +72,7 @@
#ifndef _WIN32
+#if 0
TEST_F(SubprocessTest, InterruptChild) {
Subprocess* subproc = subprocs_.Add("kill -INT $$");
ASSERT_NE((Subprocess *) 0, subproc);
@@ -82,6 +83,7 @@
EXPECT_EQ(ExitInterrupted, subproc->Finish());
}
+#endif
TEST_F(SubprocessTest, InterruptParent) {
Subprocess* subproc = subprocs_.Add("kill -INT $PPID ; sleep 1");
@@ -169,6 +171,7 @@
// OS X's process limit is less than 1025 by default
// (|sysctl kern.maxprocperuid| is 709 on 10.7 and 10.8 and less prior to that).
#if !defined(__APPLE__) && !defined(_WIN32)
+#if 0
TEST_F(SubprocessTest, SetWithLots) {
// Arbitrary big number; needs to be over 1024 to confirm we're no longer
// hostage to pselect.
@@ -196,6 +199,7 @@
}
ASSERT_EQ(kNumProcs, subprocs_.finished_.size());
}
+#endif
#endif // !__APPLE__ && !_WIN32
// TODO: this test could work on Windows, just not sure how to simply
Loading…
Cancel
Save