OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 // This file tests the C result API (the macros declared in | |
6 // mojo/public/c/include/mojo/result.h). | |
7 | |
8 #include <mojo/result.h> | |
9 | |
10 #include "gtest/gtest.h" | |
11 | |
12 namespace { | |
13 | |
14 TEST(ResultTest, Macros) { | |
15 EXPECT_EQ(0x12345678u, MOJO_RESULT_MAKE(static_cast<MojoResult>(0x8u), | |
16 static_cast<MojoResult>(0x1234u), | |
17 static_cast<MojoResult>(0x567u))); | |
18 EXPECT_EQ(0x8u, MOJO_RESULT_GET_CODE(static_cast<MojoResult>(0x12345678u))); | |
19 EXPECT_EQ(0x1234u, | |
20 MOJO_RESULT_GET_SPACE(static_cast<MojoResult>(0x12345678u))); | |
21 EXPECT_EQ(0x567u, | |
22 MOJO_RESULT_GET_SUBCODE(static_cast<MojoResult>(0x12345678u))); | |
23 | |
24 EXPECT_EQ(0xfedcfedfu, MOJO_RESULT_MAKE(static_cast<MojoResult>(0xfu), | |
25 static_cast<MojoResult>(0xfedcu), | |
26 static_cast<MojoResult>(0xfedu))); | |
27 EXPECT_EQ(0xfu, MOJO_RESULT_GET_CODE(static_cast<MojoResult>(0xfedcfedfu))); | |
28 EXPECT_EQ(0xfedcu, | |
29 MOJO_RESULT_GET_SPACE(static_cast<MojoResult>(0xfedcfedfu))); | |
30 EXPECT_EQ(0xfedu, | |
31 MOJO_RESULT_GET_SUBCODE(static_cast<MojoResult>(0xfedcfedfu))); | |
32 } | |
33 | |
34 TEST(ResultTest, CompleteResultMacros) { | |
35 EXPECT_EQ(0x0u, MOJO_RESULT_OK); | |
36 EXPECT_EQ(0x1u, MOJO_RESULT_CANCELLED); | |
37 EXPECT_EQ(0x2u, MOJO_RESULT_UNKNOWN); | |
38 EXPECT_EQ(0x3u, MOJO_RESULT_INVALID_ARGUMENT); | |
39 EXPECT_EQ(0x4u, MOJO_RESULT_DEADLINE_EXCEEDED); | |
40 EXPECT_EQ(0x5u, MOJO_RESULT_NOT_FOUND); | |
41 EXPECT_EQ(0x6u, MOJO_RESULT_ALREADY_EXISTS); | |
42 EXPECT_EQ(0x7u, MOJO_RESULT_PERMISSION_DENIED); | |
43 EXPECT_EQ(0x8u, MOJO_RESULT_RESOURCE_EXHAUSTED); | |
44 EXPECT_EQ(0x9u, MOJO_RESULT_FAILED_PRECONDITION); | |
45 EXPECT_EQ(0xau, MOJO_RESULT_ABORTED); | |
46 EXPECT_EQ(0xbu, MOJO_RESULT_OUT_OF_RANGE); | |
47 EXPECT_EQ(0xcu, MOJO_RESULT_UNIMPLEMENTED); | |
48 EXPECT_EQ(0xdu, MOJO_RESULT_INTERNAL); | |
49 EXPECT_EQ(0xeu, MOJO_RESULT_UNAVAILABLE); | |
50 EXPECT_EQ(0xfu, MOJO_RESULT_DATA_LOSS); | |
51 EXPECT_EQ(0x0019u, MOJO_RESULT_BUSY); | |
52 EXPECT_EQ(0x001eu, MOJO_RESULT_SHOULD_WAIT); | |
53 } | |
54 | |
55 } // namespace | |
OLD | NEW |