GCC Code Coverage Report


Directory: src/gate/
File: src/gate/data/tests/gatedata_cpp_test/test_providers.cpp
Date: 2026-08-06 22:46:24
Exec Total Coverage
Lines: 13 13 100.0%
Functions: 4 4 100.0%
Branches: 24 63 38.1%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/data/odbc_adapter.hpp"
3 #include "gate/data/providers.hpp"
4
5 using namespace gate;
6 using namespace gate::data;
7
8 3 static void enumProvidersCallback(enumint_t providerType, char const* providerName)
9 {
10
1/2
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
3 GATEXX_TEST_CHECK(providerName != NULL);
11 3 }
12
13
14
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(Providers)
15 {
16
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 Providers::EnumProvidersCallback cb(&enumProvidersCallback);
17
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Providers::enumProviders(cb));
18 4 Providers::ProviderMap providers;
19
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(providers = Providers::enumProviders());
20
21 // this code tests availability of Provider functions, but does not check for correct DB connection
22
2/2
✓ Branch 2 taken 3 times.
✓ Branch 3 taken 1 times.
8 GATEXX_ENUMERATE(Providers::ProviderMap::mapping_t, entry, providers.enumerate())
23 {
24
5/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 3 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
6 GATEXX_TEST_CHECK(!entry->value().empty());
25
4/6
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 2 times.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
14 GATEXX_TRY_IGNORE(
26 Providers::create(entry->key(), String())
27 );
28
1/2
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
6 Providers::tryCreate(entry->key(), String());
29 }
30 2 }
31