# Tests for C++ interoperability Each D file will be compiled and linked with other C++ sources defined in a [`EXTRA_CPP_SOURCES` parameter](../README.md#test-configuration). Any diagnostic emitted must match the predefined diagnostic in the test file, otherwise the test will fail. All compiled executables will be run and are expected to finish successfully with exit code 0. Any output from those binaries must be defined via the [`RUN_OUTPUT` parameter](../README.md#test-configuration). ## Purpose The point of these files is to test that the compiler emits valid code which can interface to binaries generated by a C++ compilers. ## Remarks All test will be run for a variety of C++ compilers and targets, refer to the [GitHub CI configuration](../../.github/workflows/runnable_cxx.yml) for more details. The [remarks for runnable tests](../runnable/README.md#remarks) apply to this category. Refer to [test/README.md](../README.md) for general information and the [test guidelines](../README.md#test-coding-practices).