| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 // This file tests the C API. | 5 // This file tests the C API. |
| 6 | 6 |
| 7 #include "mojo/public/c/system/core.h" | 7 #include "mojo/public/c/system/core.h" |
| 8 | 8 |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 #include <string.h> | 10 #include <string.h> |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 // |h0| should no longer be readable. | 149 // |h0| should no longer be readable. |
| 150 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, | 150 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, |
| 151 MojoWait(h0, MOJO_HANDLE_SIGNAL_READABLE, 10, &state)); | 151 MojoWait(h0, MOJO_HANDLE_SIGNAL_READABLE, 10, &state)); |
| 152 | 152 |
| 153 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals); | 153 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, state.satisfied_signals); |
| 154 EXPECT_EQ(kSignalAll, state.satisfiable_signals); | 154 EXPECT_EQ(kSignalAll, state.satisfiable_signals); |
| 155 | 155 |
| 156 // Close |h0|. | 156 // Close |h0|. |
| 157 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h0)); | 157 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h0)); |
| 158 | 158 |
| 159 EXPECT_EQ(MOJO_RESULT_OK, |
| 160 MojoWait(h1, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
| 161 MOJO_DEADLINE_INDEFINITE, &state)); |
| 162 |
| 159 // |h1| should no longer be readable or writable. | 163 // |h1| should no longer be readable or writable. |
| 160 EXPECT_EQ( | 164 EXPECT_EQ( |
| 161 MOJO_RESULT_FAILED_PRECONDITION, | 165 MOJO_RESULT_FAILED_PRECONDITION, |
| 162 MojoWait(h1, MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, | 166 MojoWait(h1, MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, |
| 163 1000, &state)); | 167 1000, &state)); |
| 164 | 168 |
| 165 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals); | 169 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals); |
| 166 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals); | 170 EXPECT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals); |
| 167 | 171 |
| 168 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h1)); | 172 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(h1)); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 memset(buffer, 0, sizeof(buffer)); | 247 memset(buffer, 0, sizeof(buffer)); |
| 244 buffer_size = 1; | 248 buffer_size = 1; |
| 245 EXPECT_EQ(MOJO_RESULT_OK, | 249 EXPECT_EQ(MOJO_RESULT_OK, |
| 246 MojoReadData(hc, buffer, &buffer_size, MOJO_READ_DATA_FLAG_NONE)); | 250 MojoReadData(hc, buffer, &buffer_size, MOJO_READ_DATA_FLAG_NONE)); |
| 247 | 251 |
| 248 // Close |hp|. | 252 // Close |hp|. |
| 249 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(hp)); | 253 EXPECT_EQ(MOJO_RESULT_OK, MojoClose(hp)); |
| 250 | 254 |
| 251 // |hc| should still be readable. | 255 // |hc| should still be readable. |
| 252 EXPECT_EQ(MOJO_RESULT_OK, | 256 EXPECT_EQ(MOJO_RESULT_OK, |
| 253 MojoWait(hc, MOJO_HANDLE_SIGNAL_READABLE, 0, &state)); | 257 MojoWait(hc, MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
| 258 MOJO_DEADLINE_INDEFINITE, &state)); |
| 254 | 259 |
| 255 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, | 260 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
| 256 state.satisfied_signals); | 261 state.satisfied_signals); |
| 257 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, | 262 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, |
| 258 state.satisfiable_signals); | 263 state.satisfiable_signals); |
| 259 | 264 |
| 260 // Do a two-phase read from |hc|. | 265 // Do a two-phase read from |hc|. |
| 261 read_pointer = nullptr; | 266 read_pointer = nullptr; |
| 262 EXPECT_EQ(MOJO_RESULT_OK, MojoBeginReadData(hc, &read_pointer, &buffer_size, | 267 EXPECT_EQ(MOJO_RESULT_OK, MojoBeginReadData(hc, &read_pointer, &buffer_size, |
| 263 MOJO_READ_DATA_FLAG_NONE)); | 268 MOJO_READ_DATA_FLAG_NONE)); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 // This checks that things actually work in C (not C++). | 336 // This checks that things actually work in C (not C++). |
| 332 TEST(CoreTest, MinimalCTest) { | 337 TEST(CoreTest, MinimalCTest) { |
| 333 const char* failure = MinimalCTest(); | 338 const char* failure = MinimalCTest(); |
| 334 EXPECT_FALSE(failure) << failure; | 339 EXPECT_FALSE(failure) << failure; |
| 335 } | 340 } |
| 336 | 341 |
| 337 // TODO(vtl): Add multi-threaded tests. | 342 // TODO(vtl): Add multi-threaded tests. |
| 338 | 343 |
| 339 } // namespace | 344 } // namespace |
| 340 } // namespace mojo | 345 } // namespace mojo |
| OLD | NEW |