Corrected various spelling mistakes such as 'occurred', 'receiver', 'initialized', 'length', and others in comments, variable names, function names, and documentation throughout the project. These changes improve code readability and maintain consistency in naming and documentation. Co-authored-by: Louis Dionne <ldionne.2@gmail.com>
67 lines
2.1 KiB
C++
67 lines
2.1 KiB
C++
//===-- Loader test to check the RPC interface with the loader ------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "src/__support/GPU/utils.h"
|
|
#include "src/__support/RPC/rpc_client.h"
|
|
#include "test/IntegrationTest/test.h"
|
|
|
|
using namespace LIBC_NAMESPACE;
|
|
|
|
// Test to ensure that we can use arbitrary combinations of sends and receives
|
|
// as long as they are mirrored.
|
|
static void test_interface(bool end_with_send) {
|
|
uint64_t cnt = 0;
|
|
LIBC_NAMESPACE::rpc::Client::Port port =
|
|
LIBC_NAMESPACE::rpc::client.open<LIBC_TEST_INTERFACE>();
|
|
port.send([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
buffer->data[0] = end_with_send;
|
|
});
|
|
port.send([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
buffer->data[0] = cnt = cnt + 1;
|
|
});
|
|
port.recv([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
cnt = buffer->data[0];
|
|
});
|
|
port.send([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
buffer->data[0] = cnt = cnt + 1;
|
|
});
|
|
port.recv([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
cnt = buffer->data[0];
|
|
});
|
|
port.send([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
buffer->data[0] = cnt = cnt + 1;
|
|
});
|
|
port.send([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
buffer->data[0] = cnt = cnt + 1;
|
|
});
|
|
port.recv([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
cnt = buffer->data[0];
|
|
});
|
|
port.recv([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
cnt = buffer->data[0];
|
|
});
|
|
if (end_with_send)
|
|
port.send([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
buffer->data[0] = cnt = cnt + 1;
|
|
});
|
|
else
|
|
port.recv([&](LIBC_NAMESPACE::rpc::Buffer *buffer, uint32_t) {
|
|
cnt = buffer->data[0];
|
|
});
|
|
port.close();
|
|
|
|
ASSERT_TRUE(cnt == 9 && "Invalid number of increments");
|
|
}
|
|
|
|
TEST_MAIN(int argc, char **argv, char **envp) {
|
|
test_interface(true);
|
|
test_interface(false);
|
|
|
|
return 0;
|
|
}
|