emlabcpp
modern opinionated embedded C++ library
base.h
Go to the documentation of this file.
1 
24 #pragma once
25 
26 #include "../../algorithm.h"
27 #include "../../static_function.h"
28 #include "../contiguous_tree/tree.h"
29 #include "../string_buffer.h"
30 
31 #include <algorithm>
32 #include <map>
33 #include <memory_resource>
34 #include <variant>
35 
37 {
38 
41 
42 using node_id = uint32_t;
43 using child_count = uint32_t;
44 using child_id = uint32_t;
48 
49 // TODO: this breaks stuff as it has nlohmann::json serialization overload which is _not a good
50 // idea_
51 using value_type = std::variant< int64_t, float, bool, string_buffer >;
52 static_assert( !alternative_of< uint32_t, value_type > );
53 using run_id = uint32_t;
54 using test_id = uint16_t;
60 
61 enum class test_status : uint8_t
62 {
63  SUCCESS = 0x1,
64  SKIPPED = 0x2,
65  FAILED = 0x3,
66  ERRORED = 0x4,
67 };
68 
69 [[nodiscard]] constexpr bool is_problematic( test_status stat )
70 {
71  return stat == test_status::FAILED || stat == test_status::ERRORED;
72 }
73 
75 {
79 
80  test_result() = default;
81 
82  test_result( test_id const ttid, run_id const trid )
83  : tid( ttid )
84  , rid( trid )
85  {
86  }
87 };
88 
89 } // namespace emlabcpp::testing
typename node_type::object_handle object_handle
Definition: tree.h:300
typename node_type::array_handle array_handle
Definition: tree.h:302
typename node_type::const_array_handle const_array_handle
Definition: tree.h:303
typename node_type::const_object_handle const_object_handle
Definition: tree.h:301
MIT License.
Definition: base.h:37
uint16_t test_id
Definition: base.h:54
test_status
Definition: base.h:62
typename data_tree::const_object_handle data_const_object_handle
Definition: base.h:59
uint32_t node_id
Definition: base.h:42
string_buffer< 32 > key_type_buffer
Definition: base.h:40
typename data_tree::const_array_handle data_const_array_handle
Definition: base.h:58
string_buffer< 128 > string_buffer
Definition: base.h:46
uint32_t run_id
Definition: base.h:53
typename data_tree::array_handle data_array_handle
Definition: base.h:56
typename data_tree::object_handle data_object_handle
Definition: base.h:57
std::variant< int64_t, float, bool, string_buffer > value_type
Definition: base.h:51
uint32_t child_count
Definition: base.h:43
uint32_t child_id
Definition: base.h:44
constexpr bool is_problematic(test_status stat)
Definition: base.h:69
contiguous_tree_type
Definition: base.h:33
Definition: status.h:31
Definition: base.h:75
test_id tid
Definition: base.h:76
test_result(test_id const ttid, run_id const trid)
Definition: base.h:82
run_id rid
Definition: base.h:77