testing_unimplemented.cpp is used ONLY for C++ integration tests (/tests/src/integration).
integration.rs is used to provide stubs for:
- Rust integration tests,
- C examples,
- C++ integration tests, as proved by the code excerpt below.
if(CASS_BUILD_INTEGRATION_TESTS OR CASS_BUILD_EXAMPLES)
set(CMAKE_Rust_FLAGS "${CMAKE_Rust_FLAGS} --cfg cpp_integration_testing")
endif()
Note that function sets in both files should have empty intersection.
So the current rule of thumb is to put stubs in integration.rs if they're useful to anything other than C++ integration tests, else leave it in testing_unimplemented.cpp.
Originally posted by @wprzytula in #398 (comment)
The idea of @Lorak-mmk is to remove testing_unimplemented.cpp altogether and have everything in testing.rs.
One immediately problem with this is that current implementations of functions in testing_unimplemented.cpp throw C++ exceptions, which Rust implementations in testing.rs obviously couldn't do.
testing_unimplemented.cppis used ONLY for C++ integration tests (/tests/src/integration).integration.rsis used to provide stubs for:Note that function sets in both files should have empty intersection.
So the current rule of thumb is to put stubs in
integration.rsif they're useful to anything other than C++ integration tests, else leave it intesting_unimplemented.cpp.Originally posted by @wprzytula in #398 (comment)
The idea of @Lorak-mmk is to remove
testing_unimplemented.cppaltogether and have everything intesting.rs.One immediately problem with this is that current implementations of functions in
testing_unimplemented.cppthrow C++ exceptions, which Rust implementations intesting.rsobviously couldn't do.