LCOV - code coverage report
Current view: top level - /opt/artdaq/srcs/artdaq-database/test/CaseStudy/OtsDaqCPPInterface/test006 - MarkReadonly_t.cc (source / functions) Coverage Total Hit
Test: artdaq.info.cleaned Lines: 100.0 % 17 17
Test Date: 2026-10-29 00:35:58 Functions: 100.0 % 4 4

            Line data    Source code
       1              : #define BOOST_TEST_DYN_LINK
       2              : #define BOOST_TEST_MODULE (MarkReadonly test)
       3              : 
       4              : #include <boost/test/unit_test.hpp>
       5              : 
       6              : #include <cstdlib>
       7              : #include <ctime>
       8              : #include <iostream>
       9              : #include <memory>
      10              : #include <string>
      11              : 
      12              : #include "../DatabaseConfigurationInterface.h"
      13              : 
      14              : using namespace ots;
      15              : 
      16              : struct MarkReadonlyTestData {
      17            2 :   MarkReadonlyTestData() {
      18            2 :     srand(time(nullptr));
      19            2 :     baseVersion = rand() % 99999 + 100000;
      20            2 :     std::cout << "=== MARK READONLY TEST SUITE ===\n";
      21            2 :     std::cout << "Base version: " << baseVersion << "\n\n";
      22            2 :   }
      23              : 
      24            2 :   ~MarkReadonlyTestData() { std::cout << "\n=== TEST SUITE COMPLETE ===\n"; }
      25              : 
      26              :   int baseVersion;
      27              : };
      28              : 
      29              : MarkReadonlyTestData fixture;
      30              : 
      31              : BOOST_AUTO_TEST_SUITE(mark_readonly_test)
      32              : 
      33            4 : BOOST_AUTO_TEST_CASE(mark_readonly_nonexistent_version) {
      34            2 :   std::cout << "\n=== TEST 1: Mark readonly nonexistent version ===\n";
      35              : 
      36            2 :   auto ifc = DatabaseConfigurationInterface();
      37              : 
      38            2 :   std::shared_ptr<ConfigurationBase> cfg = std::make_shared<TestConfiguration001>();
      39            2 :   cfg->getView().version = 999999998;
      40              : 
      41            2 :   auto result = ifc.markActiveVersionReadonly(cfg.get());
      42            2 :   std::cout << "Step 1: markActiveVersionReadonly on nonexistent version returned " << result << "\n";
      43              : 
      44            2 :   BOOST_CHECK_NE(result, 0);
      45            2 :   std::cout << "  Verified: Marking nonexistent version returns error\n";
      46            2 : }
      47              : 
      48              : BOOST_AUTO_TEST_SUITE_END()
        

Generated by: LCOV version 2.0-1