summaryrefslogtreecommitdiffstats
path: root/base/process_util_unittest.cc
diff options
context:
space:
mode:
authorjln@chromium.org <jln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-06 07:02:22 +0000
committerjln@chromium.org <jln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-06 07:02:22 +0000
commitddf5b51625c2b564b27c53886111b836492b0403 (patch)
tree3ffba72fb2091fdad345b6e28dd89b7ad6136900 /base/process_util_unittest.cc
parent73a087f880e0d18557b5c44630e0f4f68541c2b9 (diff)
downloadchromium_src-ddf5b51625c2b564b27c53886111b836492b0403.zip
chromium_src-ddf5b51625c2b564b27c53886111b836492b0403.tar.gz
chromium_src-ddf5b51625c2b564b27c53886111b836492b0403.tar.bz2
base: add GetNumberOfThreads() to Linux and Android.
NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12193017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180914 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/process_util_unittest.cc')
-rw-r--r--base/process_util_unittest.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/base/process_util_unittest.cc b/base/process_util_unittest.cc
index 9897e41..309b87c 100644
--- a/base/process_util_unittest.cc
+++ b/base/process_util_unittest.cc
@@ -19,6 +19,7 @@
#include "base/test/test_timeouts.h"
#include "base/third_party/dynamic_annotations/dynamic_annotations.h"
#include "base/threading/platform_thread.h"
+#include "base/threading/thread.h"
#include "base/utf_string_conversions.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/multiprocess_func_list.h"
@@ -944,6 +945,24 @@ TEST_F(ProcessUtilTest, ParseProcStatCPU) {
EXPECT_EQ(0, base::ParseProcStatCPU(kSelfStat));
}
+
+TEST_F(ProcessUtilTest, GetNumberOfThreads) {
+ const base::ProcessHandle current = base::GetCurrentProcessHandle();
+ const int initial_threads = base::GetNumberOfThreads(current);
+ ASSERT_GT(initial_threads, 0);
+ const int kNumAdditionalThreads = 10;
+ {
+ scoped_ptr<base::Thread> my_threads[kNumAdditionalThreads];
+ for (int i = 0; i < kNumAdditionalThreads; ++i) {
+ my_threads[i].reset(new base::Thread("GetNumberOfThreadsTest"));
+ my_threads[i]->Start();
+ ASSERT_EQ(base::GetNumberOfThreads(current), initial_threads + 1 + i);
+ }
+ }
+ // The Thread destructor will stop them.
+ ASSERT_EQ(initial_threads, base::GetNumberOfThreads(current));
+}
+
#endif // defined(OS_LINUX) || defined(OS_ANDROID)
// TODO(port): port those unit tests.