Skip to content

Commit

Permalink
test_metrics_flush_basic
Browse files Browse the repository at this point in the history
  • Loading branch information
TomekIdczak97 authored and TomekIdczak97 committed Aug 20, 2019
1 parent 2702eff commit f8bd66c
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions test/storage/slab_pmem/check_slab_pmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -1173,6 +1173,7 @@ START_TEST(test_metrics_append_basic)
#define KEY "key"
#define VAL "val"
#define APPEND "append"

struct bstring key, val, append;
item_rstatus_e status;
struct item *it;
Expand Down Expand Up @@ -1215,6 +1216,61 @@ START_TEST(test_metrics_append_basic)
}
END_TEST

START_TEST(test_metrics_flush_basic)
{
#define KEY1 "key1"
#define VAL1 "val1"
#define KEY2 "key2"
#define VAL2 "val2"

struct bstring key1, val1, key2, val2;
item_rstatus_e status;
struct item *it;

test_reset(1);

key1 = str2bstr(KEY1);
val1 = str2bstr(VAL1);

key2 = str2bstr(KEY2);
val2 = str2bstr(VAL2);

time_update();
status = item_reserve(&it, &key1, &val1, val1.len, 0, INT32_MAX);
ck_assert_msg(status == ITEM_OK, "item_reserve not OK - return status %d", status);
item_insert(it, &key1);

time_update();
status = item_reserve(&it, &key2, &val2, val2.len, 0, INT32_MAX);
ck_assert_msg(status == ITEM_OK, "item_reserve not OK - return status %d", status);
item_insert(it, &key2);

item_flush();

it = item_get(&key1);
ck_assert_msg(it == NULL, "item with key %.*s still exists after flush", key1.len, key1.data);
it = item_get(&key2);
ck_assert_msg(it == NULL, "item with key %.*s still exists after flush", key2.len, key2.data);

slab_metrics_st copy = metrics;

metric_reset((struct metric *)&metrics, METRIC_CARDINALITY(metrics));
test_reset(0);

test_assert_metrics((struct metric *)&copy, (struct metric *)&metrics, METRIC_CARDINALITY(metrics));

it = item_get(&key1);
ck_assert_msg(it == NULL, "item with key %.*s still exists after flush", key1.len, key1.data);
it = item_get(&key2);
ck_assert_msg(it == NULL, "item with key %.*s still exists after flush", key2.len, key2.data);

#undef KEY1
#undef VAL1
#undef KEY2
#undef VAL2
}
END_TEST

START_TEST(test_metrics_lruq_rebuild)
{
#define NUM_ITEMS 3
Expand Down Expand Up @@ -1338,6 +1394,7 @@ slab_suite(void)
tcase_add_test(tc_smetrics, test_metrics_insert_large);
tcase_add_test(tc_smetrics, test_metrics_reserve_backfill_link);
tcase_add_test(tc_smetrics, test_metrics_append_basic);
tcase_add_test(tc_smetrics, test_metrics_flush_basic);
tcase_add_test(tc_smetrics, test_metrics_lruq_rebuild);

return s;
Expand Down

0 comments on commit f8bd66c

Please sign in to comment.