Check-in new test
This commit is contained in:
parent
73719b2120
commit
24128e0bca
tests/simulation
@ -14,6 +14,11 @@ function(add_simulation_test test_cpp)
|
||||
# requires unique logical target names
|
||||
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
|
||||
target_link_libraries(${target_name} gtest gmock gtest_main)
|
||||
|
||||
# sanitize?
|
||||
target_compile_options(${target_name} PRIVATE -fsanitize=address)
|
||||
target_link_options(${target_name} PRIVATE -fsanitize=address)
|
||||
|
||||
# register test
|
||||
add_test(${target_name} ${exec_name})
|
||||
add_dependencies(memgraph__simulation ${target_name})
|
||||
|
31
tests/simulation/future.cpp
Normal file
31
tests/simulation/future.cpp
Normal file
@ -0,0 +1,31 @@
|
||||
// Copyright 2022 Memgraph Ltd.
|
||||
//
|
||||
// Use of this software is governed by the Business Source License
|
||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||
// License, and you may not use this file except in compliance with the Business Source License.
|
||||
//
|
||||
// As of the Change Date specified in that file, in accordance with
|
||||
// the Business Source License, use of this software will be governed
|
||||
// by the Apache License, Version 2.0, included in the file
|
||||
// licenses/APL.txt.
|
||||
|
||||
#include <string>
|
||||
#include <thread>
|
||||
|
||||
#include "io/v3/future.hpp"
|
||||
#include "utils/logging.hpp"
|
||||
|
||||
void Fill(MgPromise<std::string> promise) { promise.Fill("success"); }
|
||||
|
||||
int main() {
|
||||
auto [future, promise] = FuturePromisePair<std::string>();
|
||||
|
||||
std::jthread t1(Fill, std::move(promise));
|
||||
|
||||
std::string result = future.Wait();
|
||||
t1.join();
|
||||
|
||||
MG_ASSERT(result == "success");
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user