1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "sandbox/linux/services/resource_limits.h"
8 #include <sys/resource.h>
12 #include "base/logging.h"
13 #include "sandbox/linux/tests/test_utils.h"
14 #include "sandbox/linux/tests/unit_tests.h"
15 #include "testing/gtest/include/gtest/gtest.h"
21 // Fails on Android: crbug.com/459158
22 #if !defined(OS_ANDROID)
23 #define MAYBE_NoFork DISABLE_ON_ASAN(NoFork)
25 #define MAYBE_NoFork DISABLED_NoFork
28 // Not being able to fork breaks LeakSanitizer, so disable on
30 SANDBOX_TEST(ResourceLimits
, MAYBE_NoFork
) {
31 // Make sure that fork will fail with EAGAIN.
32 SANDBOX_ASSERT(ResourceLimits::Lower(RLIMIT_NPROC
, 0));
35 // Reap any child if fork succeeded.
36 TestUtils::HandlePostForkReturn(pid
);
37 SANDBOX_ASSERT_EQ(-1, pid
);
38 CHECK_EQ(EAGAIN
, errno
);
43 } // namespace sandbox