@@ -52,6 +52,32 @@ static void test_empty_rdb(void **state) {
52
52
RDB_deleteParser (parser );
53
53
}
54
54
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
+
55
81
static void test_mixed_levels_registration (void * * state ) {
56
82
UNUSED (state );
57
83
const char * rdbfile = DUMP_FOLDER ("multiple_lists_strings.rdb" );
@@ -153,6 +179,7 @@ int group_misc(void) {
153
179
cmocka_unit_test (test_empty_rdb ),
154
180
cmocka_unit_test (test_mixed_levels_registration ),
155
181
cmocka_unit_test (test_checksum ),
182
+ cmocka_unit_test (test_not_support_future_rdb_version ),
156
183
};
157
184
return cmocka_run_group_tests (tests , NULL , NULL );
158
185
}
0 commit comments