OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef BASE_TEST_TEST_TIMEOUTS_H_ | 5 #ifndef BASE_TEST_TEST_TIMEOUTS_H_ |
6 #define BASE_TEST_TEST_TIMEOUTS_H_ | 6 #define BASE_TEST_TEST_TIMEOUTS_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/time.h" | 10 #include "base/time.h" |
11 | 11 |
12 // Returns common timeouts to use in tests. Makes it possible to adjust | 12 // Returns common timeouts to use in tests. Makes it possible to adjust |
13 // the timeouts for different environments (like Valgrind). | 13 // the timeouts for different environments (like Valgrind). |
14 class TestTimeouts { | 14 class TestTimeouts { |
15 public: | 15 public: |
16 // Initializes the timeouts. Non thread-safe. Should be called exactly once | 16 // Initializes the timeouts. Non thread-safe. Should be called exactly once |
17 // by the test suite. | 17 // by the test suite. |
18 static void Initialize(); | 18 static void Initialize(); |
19 | 19 |
20 // Timeout for actions that are expected to finish "almost instantly". | 20 // Timeout for actions that are expected to finish "almost instantly". |
21 static int tiny_timeout_ms() { | |
22 DCHECK(initialized_); | |
23 return tiny_timeout_ms_; | |
24 } | |
25 | |
26 // Timeout to wait for something to happen. If you are not sure | |
27 // which timeout to use, this is the one you want. | |
28 static int action_timeout_ms() { | |
29 DCHECK(initialized_); | |
30 return action_timeout_ms_; | |
31 } | |
32 | |
33 // Timeout longer than the above, but still suitable to use | |
34 // multiple times in a single test. Use if the timeout above | |
35 // is not sufficient. | |
36 static int action_max_timeout_ms() { | |
37 DCHECK(initialized_); | |
38 return action_max_timeout_ms_; | |
39 } | |
40 | |
41 // Timeout for a large test that may take a few minutes to run. | |
42 static int large_test_timeout_ms() { | |
43 DCHECK(initialized_); | |
44 return large_test_timeout_ms_; | |
45 } | |
46 | |
47 // Timeout for actions that are expected to finish "almost instantly". | |
48 static base::TimeDelta tiny_timeout() { | 21 static base::TimeDelta tiny_timeout() { |
49 DCHECK(initialized_); | 22 DCHECK(initialized_); |
50 return base::TimeDelta::FromMilliseconds(tiny_timeout_ms_); | 23 return base::TimeDelta::FromMilliseconds(tiny_timeout_ms_); |
51 } | 24 } |
52 | 25 |
53 // Timeout to wait for something to happen. If you are not sure | 26 // Timeout to wait for something to happen. If you are not sure |
54 // which timeout to use, this is the one you want. | 27 // which timeout to use, this is the one you want. |
55 static base::TimeDelta action_timeout() { | 28 static base::TimeDelta action_timeout() { |
56 DCHECK(initialized_); | 29 DCHECK(initialized_); |
57 return base::TimeDelta::FromMilliseconds(action_timeout_ms_); | 30 return base::TimeDelta::FromMilliseconds(action_timeout_ms_); |
(...skipping 18 matching lines...) Expand all Loading... |
76 | 49 |
77 static int tiny_timeout_ms_; | 50 static int tiny_timeout_ms_; |
78 static int action_timeout_ms_; | 51 static int action_timeout_ms_; |
79 static int action_max_timeout_ms_; | 52 static int action_max_timeout_ms_; |
80 static int large_test_timeout_ms_; | 53 static int large_test_timeout_ms_; |
81 | 54 |
82 DISALLOW_IMPLICIT_CONSTRUCTORS(TestTimeouts); | 55 DISALLOW_IMPLICIT_CONSTRUCTORS(TestTimeouts); |
83 }; | 56 }; |
84 | 57 |
85 #endif // BASE_TEST_TEST_TIMEOUTS_H_ | 58 #endif // BASE_TEST_TEST_TIMEOUTS_H_ |
OLD | NEW |