summaryrefslogtreecommitdiff
path: root/test/test_register_and_reset.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_register_and_reset.cpp')
-rw-r--r--test/test_register_and_reset.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/test_register_and_reset.cpp b/test/test_register_and_reset.cpp
index c1f176f..20f31cf 100644
--- a/test/test_register_and_reset.cpp
+++ b/test/test_register_and_reset.cpp
@@ -499,6 +499,32 @@ TEST(calibrate, master_many_cube)
fieldstat_free(target);
}
+TEST(test_register, get_cube_mode)
+{
+ // int fieldstat_get_cube_mode(const struct fieldstat *instance, int cube_id, enum sampling_mode *mode, int *primary_metric_id)
+
+ struct fieldstat *instance = fieldstat_new();
+ int cube_id = fieldstat_create_cube(instance, &TEST_SHARED_TAG, 1, SAMPLING_MODE_TOPK, 10);
+ fieldstat_register_counter(instance, "counter");
+ fieldstat_register_counter(instance, "counter2");
+ fieldstat_cube_set_primary_metric(instance, cube_id, 1);
+ int cube_id2 = fieldstat_create_cube(instance, &TEST_TAG_INT, 1, SAMPLING_MODE_COMPREHENSIVE, 10);
+
+ enum sampling_mode mode;
+ int primary_metric_id;
+ EXPECT_EQ(fieldstat_get_cube_mode(instance, cube_id, &mode, &primary_metric_id), 0);
+ EXPECT_EQ(mode, SAMPLING_MODE_TOPK);
+ EXPECT_EQ(primary_metric_id, 1);
+
+ EXPECT_EQ(fieldstat_get_cube_mode(instance, cube_id2, &mode, &primary_metric_id), 0);
+ EXPECT_EQ(mode, SAMPLING_MODE_COMPREHENSIVE);
+ EXPECT_EQ(primary_metric_id, -1);
+
+ EXPECT_EQ(fieldstat_get_cube_mode(instance, 100, &mode, &primary_metric_id), FS_ERR_INVALID_CUBE_ID);
+
+ fieldstat_free(instance);
+}
+
int main(int argc, char *argv[])
{
testing::InitGoogleTest(&argc, argv);