Skip to content

Commit 0ec26ca

Browse files
committed
test_not_support_future_rdb_version
1 parent f141073 commit 0ec26ca

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

test/test_main.c

+27
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,32 @@ static void test_empty_rdb(void **state) {
5252
RDB_deleteParser(parser);
5353
}
5454

55+
static void test_not_support_future_rdb_version(void **state) {
56+
UNUSED(state);
57+
58+
const char *rdbfile = DUMP_FOLDER("future_v19.rdb");
59+
const char *jsonfile = TMP_FOLDER("future_v19.json");
60+
61+
RdbStatus status;
62+
RdbParser *parser = RDB_createParserRdb(NULL);
63+
RDB_setLogLevel(parser, RDB_LOG_ERR);
64+
assert_non_null(RDBX_createReaderFile(parser, rdbfile));
65+
RdbxToJsonConf r2jConf = { .level = RDB_LEVEL_DATA };
66+
67+
assert_non_null(RDBX_createHandlersToJson(parser,
68+
jsonfile,
69+
&r2jConf));
70+
71+
while ((status = RDB_parse(parser)) == RDB_STATUS_WAIT_MORE_DATA);
72+
assert_int_equal( status, RDB_STATUS_ERROR);
73+
74+
/* verify returned error code */
75+
RdbRes err = RDB_getErrorCode(parser);
76+
assert_int_equal(err, RDB_ERR_UNSUPPORTED_RDB_VERSION);
77+
78+
RDB_deleteParser(parser);
79+
}
80+
5581
static void test_mixed_levels_registration(void **state) {
5682
UNUSED(state);
5783
const char *rdbfile = DUMP_FOLDER("multiple_lists_strings.rdb");
@@ -153,6 +179,7 @@ int group_misc(void) {
153179
cmocka_unit_test(test_empty_rdb),
154180
cmocka_unit_test(test_mixed_levels_registration),
155181
cmocka_unit_test(test_checksum),
182+
cmocka_unit_test(test_not_support_future_rdb_version),
156183
};
157184
return cmocka_run_group_tests(tests, NULL, NULL);
158185
}

0 commit comments

Comments
 (0)