diff --git a/test/form/CMakeLists.txt b/test/form/CMakeLists.txt index e3195126..a8859d06 100644 --- a/test/form/CMakeLists.txt +++ b/test/form/CMakeLists.txt @@ -3,15 +3,33 @@ if(FORM_USE_ROOT_STORAGE) add_subdirectory(data_products) - add_executable(phlex_writer writer.cpp toy_tracker.cpp) - target_include_directories(phlex_writer PRIVATE ${PROJECT_SOURCE_DIR}/form) - target_link_libraries(phlex_writer mock_phlex form form_test_data_products) + cet_test( + WriteVector + SOURCE + writer.cpp + toy_tracker.cpp + LIBRARIES + mock_phlex + form + form_test_data_products + TEST_ARGS + "${CMAKE_CURRENT_BINARY_DIR}/toy.root" + ) + target_include_directories(WriteVector PRIVATE ${PROJECT_SOURCE_DIR}/form) - add_executable(phlex_reader reader.cpp) - target_include_directories(phlex_reader PRIVATE ${PROJECT_SOURCE_DIR}/form) - target_link_libraries(phlex_reader mock_phlex form form_test_data_products) - - add_test(NAME WriteVector COMMAND phlex_writer) - add_test(NAME ReadVector COMMAND phlex_reader) - set_tests_properties(ReadVector PROPERTIES DEPENDS WriteVector) + cet_test( + ReadVector + SOURCE + reader.cpp + LIBRARIES + mock_phlex + form + form_test_data_products + TEST_ARGS + "${CMAKE_CURRENT_BINARY_DIR}/toy.root" + TEST_PROPERTIES + DEPENDS + WriteVector + ) + target_include_directories(ReadVector PRIVATE ${PROJECT_SOURCE_DIR}/form) endif() diff --git a/test/form/reader.cpp b/test/form/reader.cpp index e480108c..e578741f 100644 --- a/test/form/reader.cpp +++ b/test/form/reader.cpp @@ -15,20 +15,22 @@ static int const NUMBER_SEGMENT = 15; static char const* const evt_id = "[EVENT=%08X]"; static char const* const seg_id = "[EVENT=%08X;SEG=%08X]"; -int main(int /* argc*/, char** /* argv[]*/) +int main(int argc, char** argv) { std::cout << "In main" << std::endl; + std::string const filename = (argc > 1) ? argv[1] : "toy.root"; + std::shared_ptr type_map = mock_phlex::createTypeMap(); // TODO: Read configuration from config file instead of hardcoding // Should be: phlex::config::parse_config config = phlex::config::loadFromFile("phlex_config.json"); // Create configuration and pass to form mock_phlex::config::parse_config config; - config.addItem("trackStart", "toy.root", form::technology::ROOT_TTREE); - config.addItem("trackNumberHits", "toy.root", form::technology::ROOT_TTREE); - config.addItem("trackStartPoints", "toy.root", form::technology::ROOT_TTREE); - config.addItem("trackStartX", "toy.root", form::technology::ROOT_TTREE); + config.addItem("trackStart", filename, form::technology::ROOT_TTREE); + config.addItem("trackNumberHits", filename, form::technology::ROOT_TTREE); + config.addItem("trackStartPoints", filename, form::technology::ROOT_TTREE); + config.addItem("trackStartX", filename, form::technology::ROOT_TTREE); form::experimental::form_interface form(type_map, config); diff --git a/test/form/writer.cpp b/test/form/writer.cpp index da363f76..167af426 100644 --- a/test/form/writer.cpp +++ b/test/form/writer.cpp @@ -30,23 +30,25 @@ void generate(std::vector& vrand, int size) } } -int main(int /*argc*/, char** /* argv[]*/) +int main(int argc, char** argv) { std::cout << "In main" << std::endl; srand(time(0)); + std::string const filename = (argc > 1) ? argv[1] : "toy.root"; + std::shared_ptr type_map = mock_phlex::createTypeMap(); // TODO: Read configuration from config file instead of hardcoding // Should be: phlex::config::parse_config config = phlex::config::loadFromFile("phlex_config.json"); // Create configuration and pass to form mock_phlex::config::parse_config config; - config.addItem("trackStart", "toy.root", form::technology::ROOT_TTREE); - config.addItem("trackNumberHits", "toy.root", form::technology::ROOT_TTREE); - config.addItem("trackStartPoints", "toy.root", form::technology::ROOT_TTREE); - config.addItem("trackStartX", "toy.root", form::technology::ROOT_TTREE); + config.addItem("trackStart", filename, form::technology::ROOT_TTREE); + config.addItem("trackNumberHits", filename, form::technology::ROOT_TTREE); + config.addItem("trackStartPoints", filename, form::technology::ROOT_TTREE); + config.addItem("trackStartX", filename, form::technology::ROOT_TTREE); config.addContainerSetting(form::technology::ROOT_TTREE, "trackStart", "auto_flush", "1"); - config.addFileSetting(form::technology::ROOT_TTREE, "toy.root", "compression", "kZSTD"); + config.addFileSetting(form::technology::ROOT_TTREE, filename, "compression", "kZSTD"); config.addContainerSetting( form::technology::ROOT_RNTUPLE, "Toy_Tracker/trackStartPoints", "force_streamer_field", "true");