From 2b2f91ad87f170e3faf340da48204d50932b2ecd Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 15 Jan 2015 11:02:43 +0800 Subject: 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. --- gnu-system.am | 1 + gnu/packages/ninja.scm | 16 +++---------- gnu/packages/patches/ninja-tests.patch | 44 ++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 gnu/packages/patches/ninja-tests.patch diff --git a/gnu-system.am b/gnu-system.am index c520418edc..8e331e136b 100644 --- a/gnu-system.am +++ b/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 \ diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm index fe3f955b5d..7416b67d02 100644 --- a/gnu/packages/ninja.scm +++ b/gnu/packages/ninja.scm @@ -34,7 +34,8 @@ (define-public ninja "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 @@ (define-public ninja (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) diff --git a/gnu/packages/patches/ninja-tests.patch b/gnu/packages/patches/ninja-tests.patch new file mode 100644 index 0000000000..3436b6314d --- /dev/null +++ b/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 -- cgit v1.2.3