__chartype_collections() { const char * buff = 0; SETUP_TABLE(dbc_punc_ext_utf8, PUNC); SETUP_TABLE(dbc_chinese_punc_utf8, PUNC); SETUP_TABLE(dbc_digit_utf8, DIGIT); SETUP_TABLE(dbc_punc_utf8, PUNC); SETUP_TABLE(dbc_uppercase_utf8, LETTER); SETUP_TABLE(dbc_lowercase_utf8, LETTER); SETUP_TABLE(sbc_uppercase_utf8, LETTER); SETUP_TABLE(sbc_digit_utf8, DIGIT); SETUP_TABLE(sbc_punc_utf8, PUNC); SETUP_TABLE(sbc_lowercase_utf8, LETTER); }
void Test_ParseStringTestParams(void) { char * string = \ "--- \n"\ "FixtureParam: \n"\ " - NAND: MT29F64G08CBAAA \n"\ " gSLC: false \n"\ " Connection: Internal_Dual_1_1 \n"\ " Feature: Large_Multi \n"\ " LiveDebug: false \n"\ "--- \n" "TestParam: \n" " - StressTime: 1 # in second \n"\ " - RPStressTime: 2 \n"\ " - StressLevel: 3 \n"\ " - RPStressLevel: 4 \n"\ " - SnapShotCmdCnt: 5 # -1 means no snapshot \n"\ " - StressCtrlBOMode: 6 # 0 means device control, otherwise means host gControlBuffer \n"\ " - StressCtrlBOInterval: 7 # how many command per host maintain \n"; bool Simu_gSLC = true; char default_nand_name[128] = "MT29F64G08CBABA"; char default_connection[128] = "Internal_Dual_1_2"; char default_feature[128] = "Small_Multi"; bool default_live_debug_mode = true; int default_stress_time = 0; int default_rp_stress_time = 0; int default_stress_level = 0; int default_rp_stress_level = 0; int default_snapshot_cmd_cnt = 0; int default_stress_ctrl_BO_mode = 0; int default_stress_ctrl_BO_interval = 0; struct CfgParser * parser; struct CfgTable table, table0, table1; struct CfgItem RootTableItems[] = { SETUP_TABLE_ITEM(TYPE_TABLE, "FixtureParam", &table0), SETUP_TABLE_ITEM(TYPE_TABLE, "TestParam", &table1), }; struct CfgItem FixtureParamItems[] = { SETUP_TABLE_ITEM(TYPE_STRING, "NAND", &default_nand_name), SETUP_TABLE_ITEM(TYPE_STRING, "Connection", &default_connection), SETUP_TABLE_ITEM(TYPE_STRING, "Feature", &default_feature), SETUP_TABLE_ITEM(TYPE_BOOL, "gSLC", &Simu_gSLC), SETUP_TABLE_ITEM(TYPE_BOOL, "LiveDebug", &default_live_debug_mode), }; struct CfgItem TestParamItems[] = { SETUP_TABLE_ITEM(TYPE_INT, "StressTime", &default_stress_time), SETUP_TABLE_ITEM(TYPE_INT, "RPStressTime", &default_rp_stress_time), SETUP_TABLE_ITEM(TYPE_INT, "StressLevel", &default_stress_level), SETUP_TABLE_ITEM(TYPE_INT, "RPStressLevel", &default_rp_stress_level), SETUP_TABLE_ITEM(TYPE_INT, "SnapShotCmdCnt", &default_snapshot_cmd_cnt), SETUP_TABLE_ITEM(TYPE_INT, "StressCtrlBOMode", &default_stress_ctrl_BO_mode), SETUP_TABLE_ITEM(TYPE_INT, "StressCtrlBOInterval", &default_stress_ctrl_BO_interval), }; SETUP_TABLE(table, RootTableItems); SETUP_TABLE(table0, FixtureParamItems); SETUP_TABLE(table1, TestParamItems); parser = YamlCfgParser_Create(); YamlCfgParser_SetTable(parser, &table); YamlCfgParser_ParseString(parser, string); FAIL_IF (strcmp(default_nand_name, "MT29F64G08CBAAA")); FAIL_IF (strcmp(default_connection, "Internal_Dual_1_1")); FAIL_IF (strcmp(default_feature, "Large_Multi")); FAIL_IF (Simu_gSLC != false); FAIL_IF (default_live_debug_mode != false); FAIL_IF (default_stress_time != 1); FAIL_IF (default_rp_stress_time != 2); FAIL_IF (default_stress_level != 3); FAIL_IF (default_rp_stress_level != 4); FAIL_IF (default_snapshot_cmd_cnt != 5); FAIL_IF (default_stress_ctrl_BO_mode != 6); FAIL_IF (default_stress_ctrl_BO_interval != 7); PASS(); }