Make castv2 performance test work.
[chromium-blink-merge.git] / ppapi / tests / test_file_io.h
blobe01abcf1b2f2e6a00cfc142d4ca102a28d1c73b9
1 // Copyright (c) 2011 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 #ifndef PAPPI_TESTS_TEST_FILE_IO_H_
6 #define PAPPI_TESTS_TEST_FILE_IO_H_
8 #include <string>
10 #include "ppapi/tests/test_case.h"
12 namespace pp {
13 class FileIO;
14 class FileSystem;
15 } // namespace pp
17 class TestFileIO : public TestCase {
18 public:
19 explicit TestFileIO(TestingInstance* instance) : TestCase(instance) {}
21 // TestCase implementation.
22 virtual bool Init();
23 virtual void RunTests(const std::string& filter);
25 private:
26 enum OpenExpectation {
27 CREATE_IF_DOESNT_EXIST = 1 << 0,
28 DONT_CREATE_IF_DOESNT_EXIST = 1 << 1,
29 OPEN_IF_EXISTS = 1 << 2,
30 DONT_OPEN_IF_EXISTS = 1 << 3,
31 TRUNCATE_IF_EXISTS = 1 << 4,
32 DONT_TRUNCATE_IF_EXISTS = 1 << 5,
33 // All values above are defined in pairs: <some_expectation> and
34 // DONT_<some_expectation>.
35 END_OF_OPEN_EXPECATION_PAIRS = DONT_TRUNCATE_IF_EXISTS,
37 INVALID_FLAG_COMBINATION = 1 << 6,
40 std::string TestOpen();
41 std::string TestOpenDirectory();
42 std::string TestReadWriteSetLength();
43 std::string TestReadToArrayWriteSetLength();
44 std::string TestTouchQuery();
45 std::string TestAbortCalls();
46 std::string TestParallelReads();
47 std::string TestParallelWrites();
48 std::string TestNotAllowMixedReadWrite();
49 std::string TestRequestOSFileHandle();
50 std::string TestRequestOSFileHandleWithOpenExclusive();
51 std::string TestMmap();
53 // Helper method used by TestOpen().
54 // |expectations| is a combination of OpenExpectation values. The followings
55 // are considered as valid input:
56 // 1) INVALID_FLAG_COMBINATION
57 // 2) (DONT_)?CREATE_IF_DOESNT_EXIST | (DONT_)?OPEN_IF_EXISTS |
58 // (DONT_)?TRUNCATE_IF_EXISTS
59 std::string MatchOpenExpectations(pp::FileSystem* file_system,
60 int32_t open_flags,
61 int32_t expectations);
64 #endif // PAPPI_TESTS_TEST_FILE_IO_H_