OLD | NEW |
| (Empty) |
1 // Copyright 2013 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. | |
4 | |
5 #ifndef MOJO_PUBLIC_CPP_TEST_SUPPORT_TEST_UTILS_H_ | |
6 #define MOJO_PUBLIC_CPP_TEST_SUPPORT_TEST_UTILS_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "mojo/public/cpp/system/core.h" | |
11 | |
12 namespace mojo { | |
13 namespace test { | |
14 | |
15 // Writes a message to |handle| with message data |text|. Returns true on | |
16 // success. | |
17 bool WriteTextMessage(const MessagePipeHandle& handle, const std::string& text); | |
18 | |
19 // Reads a message from |handle|, putting its contents into |*text|. Returns | |
20 // true on success. (This blocks if necessary and will call |MojoReadMessage()| | |
21 // multiple times, e.g., to query the size of the message.) | |
22 bool ReadTextMessage(const MessagePipeHandle& handle, std::string* text); | |
23 | |
24 // Discards a message from |handle|. Returns true on success. (This does not | |
25 // block. It will fail if no message is available to discard.) | |
26 bool DiscardMessage(const MessagePipeHandle& handle); | |
27 | |
28 // Run |single_iteration| an appropriate number of times and report its | |
29 // performance appropriately. (This actually runs |single_iteration| for a fixed | |
30 // amount of time and reports the number of iterations per unit time.) | |
31 typedef void (*PerfTestSingleIteration)(void* closure); | |
32 void IterateAndReportPerf(const char* test_name, | |
33 const char* sub_test_name, | |
34 PerfTestSingleIteration single_iteration, | |
35 void* closure); | |
36 | |
37 } // namespace test | |
38 } // namespace mojo | |
39 | |
40 #endif // MOJO_PUBLIC_CPP_TEST_SUPPORT_TEST_UTILS_H_ | |
OLD | NEW |