forked from LLNL/Caliper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathci_test_basic.cpp
37 lines (28 loc) · 1.12 KB
/
ci_test_basic.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// --- Caliper continuous integration test app for C++ annotation class
#include "caliper/cali.h"
#include <cstring>
int main(int argc, char* argv[])
{
std::map<const char*, cali::Variant> metadata = { { "meta.int", cali::Variant(42) } };
// Test proper escaping
cali_set_string_byname(" =\\weird \"\"attribute\"= ", " \\\\ weird,\" name\",");
cali_set_global_string_byname(" =\\weird \"\" global attribute\"= ", " \\\\ weird,\" name\",");
if (argc > 1 && strcmp(argv[1], "newline") == 0)
cali_set_string_byname("newline", "A newline:\n!");
cali::Annotation phase_ann("myphase", metadata);
std::size_t size = 8;
cali::Annotation size_annot("dgs");
size_annot.begin(size);
phase_ann.begin("initialization");
const int count = 4;
phase_ann.end();
cali::Annotation copy_ann = phase_ann;
copy_ann.begin("loop");
cali::Annotation iter_ann("iteration", CALI_ATTR_ASVALUE);
iter_ann.begin(uint64_t(5));
for (int i = 0; i < count; ++i) {
cali::Annotation::Guard g_iter_ann(iter_ann.begin(i));
}
phase_ann = copy_ann;
phase_ann.end();
}