]>
git.proxmox.com Git - libgit2.git/blob - tests/libgit2/trace/trace.c
1 #include "clar_libgit2.h"
2 #include "clar_libgit2_trace.h"
5 static int written
= 0;
7 static void trace_callback(git_trace_level_t level
, const char *message
)
11 cl_assert(strcmp(message
, "Hello world!") == 0);
16 void test_trace_trace__initialize(void)
18 /* If global tracing is enabled, disable for the duration of this test. */
19 cl_global_trace_disable();
21 git_trace_set(GIT_TRACE_INFO
, trace_callback
);
25 void test_trace_trace__cleanup(void)
27 git_trace_set(GIT_TRACE_NONE
, NULL
);
29 /* If global tracing was enabled, restart it. */
30 cl_global_trace_register();
33 void test_trace_trace__sets(void)
36 cl_assert(git_trace_level() == GIT_TRACE_INFO
);
42 void test_trace_trace__can_reset(void)
45 cl_assert(git_trace_level() == GIT_TRACE_INFO
);
46 cl_git_pass(git_trace_set(GIT_TRACE_ERROR
, trace_callback
));
48 cl_assert(written
== 0);
49 git_trace(GIT_TRACE_INFO
, "Hello %s!", "world");
50 cl_assert(written
== 0);
52 git_trace(GIT_TRACE_ERROR
, "Hello %s!", "world");
53 cl_assert(written
== 1);
59 void test_trace_trace__can_unset(void)
62 cl_assert(git_trace_level() == GIT_TRACE_INFO
);
63 cl_git_pass(git_trace_set(GIT_TRACE_NONE
, NULL
));
65 cl_assert(git_trace_level() == GIT_TRACE_NONE
);
67 cl_assert(written
== 0);
68 git_trace(GIT_TRACE_FATAL
, "Hello %s!", "world");
69 cl_assert(written
== 0);
75 void test_trace_trace__skips_higher_level(void)
78 cl_assert(written
== 0);
79 git_trace(GIT_TRACE_DEBUG
, "Hello %s!", "world");
80 cl_assert(written
== 0);
86 void test_trace_trace__writes(void)
89 cl_assert(written
== 0);
90 git_trace(GIT_TRACE_INFO
, "Hello %s!", "world");
91 cl_assert(written
== 1);
97 void test_trace_trace__writes_lower_level(void)
100 cl_assert(written
== 0);
101 git_trace(GIT_TRACE_ERROR
, "Hello %s!", "world");
102 cl_assert(written
== 1);