GCC Code Coverage Report


Directory: src/gate/
File: src/gate/tests/gatecore_cpp_platform_test/test_environments.cpp
Date: 2025-12-12 23:40:09
Exec Total Coverage
Lines: 41 41 100.0%
Functions: 3 3 100.0%
Branches: 81 249 32.5%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/environments.hpp"
3 #include "gate/console.hpp"
4
5 using namespace gate;
6
7
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(Environments)
8 {
9 {
10 2 gate_map_t strmap = GATE_INIT_EMPTY;
11
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 result_t result = gate_env_get_var_map(&strmap);
12
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
2 GATEXX_TEST_CHECK_OK(result);
13
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 gate_map_destroy(&strmap);
14 }
15 { // env-vars
16
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 Map<String, String> envvars = Environment::getVars();
17 2 Enumerator<Mapping<String, String> > entry = envvars.enumerate();
18
2/2
✓ Branch 1 taken 90 times.
✓ Branch 2 taken 1 times.
182 for (; entry.valid(); entry.next())
19 {
20
1/2
✓ Branch 1 taken 90 times.
✗ Branch 2 not taken.
180 String const& current_key = entry->key();
21
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 90 times.
180 if (current_key.empty()) continue;
22 360 String value;
23
4/14
✓ Branch 1 taken 90 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 90 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 90 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 90 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.
180 GATEXX_TEST_CHECK_NOTHROW(value = Environment::getVar(current_key));
24
1/2
✓ Branch 1 taken 90 times.
✗ Branch 2 not taken.
180 String const& map_value = entry->value();
25
4/12
✓ Branch 1 taken 90 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 90 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 90 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 90 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
180 GATEXX_TEST_CHECK_EQUAL(value, map_value);
26
4/14
✓ Branch 1 taken 90 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 90 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 90 times.
✗ Branch 9 not taken.
✓ Branch 14 taken 90 times.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
180 GATEXX_TEST_CHECK_NOTHROW(value = Environment::getVar(current_key, String()));
27 }
28
29
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 static StaticString const nonExistingEnvVar = "non_existing_env_key";
30
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 static StaticString const altValue = "non_existing_env_value";
31
5/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 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_EQUAL(Environment::getVar(nonExistingEnvVar, altValue), altValue);
32 }
33
34 { // current-dir
35 4 String cwd;
36
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(cwd = Environment::getWorkPath());
37
4/12
✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(!cwd.empty());
38
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(Environment::setWorkPath(cwd));
39 }
40
41 { // access system-ids
42
2/8
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getHostName());
43
2/8
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getUserName());
44 }
45
46 { // access other paths:
47
2/8
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getTempPath());
48
2/8
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getHomePath());
49
2/8
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getAppExecutableDirPath());
50
2/8
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getAppExecutablePath());
51
2/8
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getAppExecutableName());
52
3/10
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getAppConfigPath("gatecore_cpp_test", false));
53
3/10
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(Environment::getAppConfigPath("gatecore_cpp_test", true));
54
55 // data paths are not guaranteed to exist:
56
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
4 try { Environment::getDataPath(Environment::DataPathId_Documents); } catch(...) {}
57
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
4 try { Environment::getDataPath(Environment::DataPathId_Pictures); } catch(...) {}
58
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
4 try { Environment::getDataPath(Environment::DataPathId_Music); } catch(...) {}
59
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
4 try { Environment::getDataPath(Environment::DataPathId_Video); } catch(...) {}
60
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
4 try { Environment::getDataPath(Environment::DataPathId_Desktop); } catch(...) {}
61
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
4 try { Environment::getDataPath(Environment::DataPathId_AppData); } catch(...) {}
62 }
63
64 {
65 4 String shellPath;
66
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(shellPath = Environment::getShellPath());
67
4/12
✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(!shellPath.empty());
68 }
69
70 2 }
71