2016-11-13 12:22:15 +01:00
|
|
|
Index: src/subprocess_test.cc
|
|
|
|
===================================================================
|
|
|
|
--- src/subprocess_test.cc.orig
|
|
|
|
+++ src/subprocess_test.cc
|
|
|
|
@@ -214,36 +214,6 @@ TEST_F(SubprocessTest, SetWithMulti) {
|
2014-11-26 09:03:10 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-11-13 12:22:15 +01:00
|
|
|
-#if defined(USE_PPOLL)
|
2014-11-26 09:03:10 +01:00
|
|
|
-TEST_F(SubprocessTest, SetWithLots) {
|
|
|
|
- // Arbitrary big number; needs to be over 1024 to confirm we're no longer
|
|
|
|
- // hostage to pselect.
|
|
|
|
- const unsigned kNumProcs = 1025;
|
|
|
|
-
|
|
|
|
- // Make sure [ulimit -n] isn't going to stop us from working.
|
|
|
|
- rlimit rlim;
|
|
|
|
- ASSERT_EQ(0, getrlimit(RLIMIT_NOFILE, &rlim));
|
2015-07-01 10:59:14 +02:00
|
|
|
- if (rlim.rlim_cur < kNumProcs) {
|
2016-04-28 09:22:29 +02:00
|
|
|
- printf("Raise [ulimit -n] above %u (currently %lu) to make this test go\n",
|
|
|
|
- kNumProcs, rlim.rlim_cur);
|
2014-11-26 09:03:10 +01:00
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- vector<Subprocess*> procs;
|
|
|
|
- for (size_t i = 0; i < kNumProcs; ++i) {
|
|
|
|
- Subprocess* subproc = subprocs_.Add("/bin/echo");
|
|
|
|
- ASSERT_NE((Subprocess *) 0, subproc);
|
|
|
|
- procs.push_back(subproc);
|
|
|
|
- }
|
|
|
|
- while (!subprocs_.running_.empty())
|
|
|
|
- subprocs_.DoWork();
|
|
|
|
- for (size_t i = 0; i < procs.size(); ++i) {
|
|
|
|
- ASSERT_EQ(ExitSuccess, procs[i]->Finish());
|
|
|
|
- ASSERT_NE("", procs[i]->GetOutput());
|
|
|
|
- }
|
|
|
|
- ASSERT_EQ(kNumProcs, subprocs_.finished_.size());
|
|
|
|
-}
|
2015-07-01 10:59:14 +02:00
|
|
|
-#endif // !__APPLE__ && !_WIN32
|
2016-11-13 12:22:15 +01:00
|
|
|
|
2014-11-26 09:03:10 +01:00
|
|
|
// TODO: this test could work on Windows, just not sure how to simply
|
|
|
|
// read stdin.
|