mirror of
https://github.com/microsoft/mscclpp.git
synced 2026-05-11 17:00:22 +00:00
- Removes the GTest dependency, replacing it with a minimal custom framework (`test/framework.*`) that covers only what the tests actually use — a unified `TEST()` macro with SFINAE-based fixture auto-detection, `EXPECT_*`/`ASSERT_*` assertions, environments, and setup/teardown. - `--exclude-perf-tests` flag and substring-based negative filtering - `MSCCLPP_ENABLE_COVERAGE` CMake option with gcov/lcov; CI uploads to Codecov - Merges standalone `test/perf/` into main test targets - Refactors Azure pipelines to reduce redundancies & make more readable --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Changho Hwang <changhohwang@microsoft.com>
41 lines
1.3 KiB
C++
41 lines
1.3 KiB
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT License.
|
|
|
|
#include <mscclpp/core.hpp>
|
|
|
|
#include "../framework.hpp"
|
|
|
|
// TODO: TransportFlags needs operator<< for EXPECT_EQ to work
|
|
// Using ASSERT_TRUE with manual comparisons as workaround
|
|
|
|
class LocalCommunicatorTest : public ::mscclpp::test::TestCase {
|
|
protected:
|
|
void SetUp() override {
|
|
bootstrap = std::make_shared<mscclpp::TcpBootstrap>(0, 1);
|
|
bootstrap->initialize(bootstrap->createUniqueId());
|
|
comm = std::make_shared<mscclpp::Communicator>(bootstrap);
|
|
}
|
|
|
|
std::shared_ptr<mscclpp::TcpBootstrap> bootstrap;
|
|
std::shared_ptr<mscclpp::Communicator> comm;
|
|
};
|
|
|
|
TEST(LocalCommunicatorTest, RegisterMemory) {
|
|
int dummy[42];
|
|
auto memory = comm->registerMemory(&dummy, sizeof(dummy), mscclpp::NoTransports);
|
|
EXPECT_EQ(memory.data(), &dummy);
|
|
EXPECT_EQ(memory.size(), sizeof(dummy));
|
|
ASSERT_TRUE(memory.transports() == mscclpp::NoTransports);
|
|
}
|
|
|
|
TEST(LocalCommunicatorTest, SendMemoryToSelf) {
|
|
int dummy[42];
|
|
auto memory = comm->registerMemory(&dummy, sizeof(dummy), mscclpp::NoTransports);
|
|
comm->sendMemory(memory, 0);
|
|
auto memoryFuture = comm->recvMemory(0);
|
|
auto sameMemory = memoryFuture.get();
|
|
EXPECT_EQ(sameMemory.data(), memory.data());
|
|
EXPECT_EQ(sameMemory.size(), memory.size());
|
|
ASSERT_TRUE(sameMemory.transports() == memory.transports());
|
|
}
|