GCC Code Coverage Report


Directory: src/
File: src/glib_version/glib_version.c
Date: 2023-03-02 23:19:03
Exec Total Coverage
Lines: 26 26 100.0%
Functions: 6 6 100.0%
Branches: 9 54 16.7%

Line Branch Exec Source
1 #include <stdio.h>
2 #include <glib.h>
3
4 #include <utils.h>
5 #include <export.h>
6 #include <glib_version.h>
7
8 napi_ref glibVersionRef;
9
10 static napi_value
11 1 esGlibVersionFull(napi_env env, napi_callback_info cbInfo) {
12 napi_value esFull;
13
14 1 char fullVersion[20] = "";
15
16 1 size_t versionStrSize = snprintf(
17 fullVersion,
18 sizeof(fullVersion),
19 "%u.%u.%u",
20 GLIB_MAJOR_VERSION,
21 GLIB_MINOR_VERSION,
22 GLIB_MICRO_VERSION
23 );
24
25
1/6
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1 NAPI_CALL(env, false,
26 napi_create_string_utf8(env, fullVersion, versionStrSize, &esFull));
27
28 1 return esFull;
29 }
30
31 static napi_value
32 2 esGlibVersionMajor(napi_env env, napi_callback_info cbInfo) {
33 napi_value esMajor;
34
35
1/6
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
2 NAPI_CALL(env, false,
36 napi_create_int64(env, GLIB_MAJOR_VERSION, &esMajor));
37
38 2 return esMajor;
39 }
40
41 static napi_value
42 2 esGlibVersionMinor(napi_env env, napi_callback_info cbInfo) {
43 napi_value esMinor;
44
45
1/6
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
2 NAPI_CALL(env, false,
46 napi_create_int64(env, GLIB_MINOR_VERSION, &esMinor));
47
48 2 return esMinor;
49 }
50
51 static napi_value
52 1 esGlibVersionPatch(napi_env env, napi_callback_info cbInfo) {
53 napi_value esPatch;
54
55
1/6
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1 NAPI_CALL(env, false,
56 napi_create_int64(env, GLIB_MICRO_VERSION, &esPatch));
57
58 1 return esPatch;
59 }
60
61 static napi_value
62 5 esHasGTreeNode(napi_env env, napi_callback_info cbInfo) {
63 napi_value result;
64
65 #ifdef HAS_GTREE_NODE
66
1/6
✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
5 NAPI_CALL(env, false, napi_get_boolean(env, true, &result));
67 #else
68 NAPI_CALL(env, false, napi_get_boolean(env, false, &result));
69 #endif
70
71 5 return result;
72 }
73
74 napi_property_descriptor
75 1 glib_version_export(napi_env env) {
76 napi_value esGlibVersion;
77
78
1/6
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1 NAPI_CALL(env, false, napi_create_object(env, &esGlibVersion));
79
80 // Instance props
81 1 const napi_property_descriptor esGlibVersionProps[] = {
82 DEF_PROP("FULL", esGlibVersionFull),
83 DEF_PROP("MAJOR", esGlibVersionMajor),
84 DEF_PROP("MINOR", esGlibVersionMinor),
85 DEF_PROP("PATCH", esGlibVersionPatch),
86 DEF_METHOD("hasGTreeNode", esHasGTreeNode)
87 };
88
89
1/6
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1 NAPI_CALL(env, false,
90 napi_define_properties(
91 env,
92 esGlibVersion,
93 (sizeof(esGlibVersionProps) / sizeof(napi_property_descriptor)),
94 esGlibVersionProps
95 )
96 );
97
98
1/6
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1 NAPI_CALL(env, false, napi_object_freeze(env, esGlibVersion));
99
100
1/6
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1 NAPI_CALL(env, false,
101 napi_create_reference(env, esGlibVersion, 1, &glibVersionRef));
102
103 2 napi_property_descriptor descriptor = {
104 "GLIB_VERSION",
105 NULL,
106 NULL,
107 NULL,
108 NULL,
109 1 esGlibVersion,
110 napi_default,
111 NULL
112 };
113
114 1 return descriptor;
115 }
116