void test_shutdown_cmd_parse_bad_opts(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; const char *argv1[] = {"shutdown", "hoge", NULL }; const char *argv2[] = {"shutdown", "-level", NULL }; const char *argv3[] = {"shutdown", "-level", "hoge", NULL }; ret = s_parse_shutdown(&interp, state, ARGV_SIZE(argv1), argv1, NULL, NULL, NULL, NULL, NULL, &ds); TEST_ASSERT_EQUAL_MESSAGE(LAGOPUS_RESULT_INVALID_ARGS, ret, "s_parse_shutdown() error."); ret = s_parse_shutdown(&interp, state, ARGV_SIZE(argv2), argv2, NULL, NULL, NULL, NULL, NULL, &ds); TEST_ASSERT_EQUAL_MESSAGE(LAGOPUS_RESULT_INVALID_ARGS, ret, "s_parse_shutdown() error."); ret = s_parse_shutdown(&interp, state, ARGV_SIZE(argv3), argv3, NULL, NULL, NULL, NULL, NULL, &ds); TEST_ASSERT_EQUAL_MESSAGE(LAGOPUS_RESULT_INVALID_ARGS, ret, "s_parse_shutdown() error."); }
void test_meter_cmd_parse_bat_opt_02(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"meter", "br3", "hoge", NULL }; const char test_str1[] = "{\"ret\":\"INVALID_ARGS\",\n" "\"data\":\"sub_cmd = hoge.\"}"; /* bridge create cmd. */ TEST_BRIDGE_CREATE(ret, &interp, state, &tbl, &ds, str, "b3", "3", "cha3", "c3", "i3", "p3", "3"); /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, meter_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); /* bridge destroy cmd.*/ TEST_BRIDGE_DESTROY(ret, &interp, state, &tbl, &ds, str, "b3", "cha3", "c3", "i3", "p3"); }
void test_meter_cmd_parse_stats_bat_opt_01(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"meter", "br4", "stats", "hoge", NULL }; const char test_str1[] = "{\"ret\":\"INVALID_OBJECT\",\n" "\"data\":\"name = "DATASTORE_NAMESPACE_DELIMITER"br4\"}"; /* bridge create cmd. */ TEST_BRIDGE_CREATE(ret, &interp, state, &tbl, &ds, str, "b4", "4", "cha4", "c4", "i4", "p4", "4"); /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, meter_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); /* bridge destroy cmd.*/ TEST_BRIDGE_DESTROY(ret, &interp, state, &tbl, &ds, str, "b4", "cha4", "c4", "i4", "p4"); }
void test_meter_cmd_parse_stats_02(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; uint64_t dpid = 6; uint32_t meter_id = 6; size_t band_num = 2; char *str = NULL; const char *argv1[] = {"meter", "b6", "stats", NULL }; /* bridge create cmd. */ TEST_BRIDGE_CREATE(ret, &interp, state, &tbl, &ds, str, "b6", "6", "cha6", "c6", "i6", "p6", "6"); meter_create(dpid, meter_id, band_num); /* stats cmd. */ /* duration_sec/duration_nsec is undefined value. */ TEST_CMD_PARSE_WITHOUT_STRCMP(ret, LAGOPUS_RESULT_OK, meter_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str); meter_destroy(dpid, meter_id); /* bridge destroy cmd.*/ TEST_BRIDGE_DESTROY(ret, &interp, state, &tbl, &ds, str, "b6", "cha6", "c6", "i6", "p6"); }
void test_meter_cmd_parse_dump_01(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"meter", "b1", NULL }; const char test_str1[] = "{\"ret\":\"OK\",\n" "\"data\":[{\"name\":\""DATASTORE_NAMESPACE_DELIMITER"b1\",\n" "\"meters\":[]}]}"; /* bridge create cmd. */ TEST_BRIDGE_CREATE(ret, &interp, state, &tbl, &ds, str, "b1", "1", "cha1", "c1", "i1", "p1", "1"); /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, meter_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); /* bridge destroy cmd.*/ TEST_BRIDGE_DESTROY(ret, &interp, state, &tbl, &ds, str, "b1", "cha1", "c1", "i1", "p1"); }
void test_agent_cmd_parse_serialize(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"agent", "-channelq-size", "2000", "-channelq-max-batches", "3000", NULL}; const char test_str1[] = "{\"ret\":\"OK\"}"; const char serialize_str1[] = "agent " "-channelq-size 2000 " "-channelq-max-batches 3000\n\n"; /* set */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); lagopus_dstring_clear(&ds); /* serialize */ ret = agent_cmd_serialize(&ds); TEST_ASSERT_EQUAL_MESSAGE(LAGOPUS_RESULT_OK, ret, "agent_cmd_serialize error."); TEST_DSTRING_NO_JSON(ret, &ds, str, serialize_str1, true); }
void tearDown(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"bridge", bridge_name, "destroy", NULL }; const char test_str1[] = "{\"ret\":\"OK\"}"; char path[PATH_MAX]; DIR *dp = NULL; struct dirent *dirent = NULL; /* bridge destroy cmd. */ if (destroy == true) { TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, bridge_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, bridge_cmd_update, &ds, str, test_str1); } /* destroy interp. */ INTERP_DESTROY(NULL, interp, tbl, ds, destroy); /* delete file. */ dp = opendir(TMP_DIR); if (dp != NULL) { while ((dirent = readdir(dp)) != NULL) { if (strncmp(dirent->d_name, TMP_FILE, strlen(TMP_FILE))) { sprintf(path, "TMP_DIR/%s", dirent->d_name); unlink(path); } } closedir(dp); } }
void test_atomic_cmd_parse_tmp_dir(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"atomic", "begin", "-tmp-dir", NULL}; const char test_str1[] = "{\"ret\":\"OK\",\n" "\"data\":{\"tmp-dir\":\"\\/tmp\"}}"; const char *argv2[] = {"atomic", "begin", "-tmp-dir", "./", NULL}; const char *argv3[] = {"atomic", "begin", "-tmp-dir", NULL}; const char test_str3[] = "{\"ret\":\"OK\",\n" "\"data\":{\"tmp-dir\":\".\\/\"}}"; const char *argv4[] = {"atomic", "begin", "hoge", NULL}; const char test_str4[] = "{\"ret\":\"INVALID_ARGS\",\n" "\"data\":\"opt = hoge\"}"; // Normal case { /* show tmp dir (begin cmd). */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_atomic, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &result, str, test_str1); /* set tmp dir (begin cmd). */ ret = s_parse_atomic(NULL, state, ARGV_SIZE(argv2), argv2, &tbl, proc, NULL, NULL, NULL, &result); TEST_ASSERT_EQUAL(LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, ret); /* show tmp dir (begin cmd). */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_atomic, &interp, state, ARGV_SIZE(argv3), argv3, &tbl, NULL, &result, str, test_str3); /* bad opt (begin cmd). */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, s_parse_atomic, &interp, state, ARGV_SIZE(argv4), argv4, &tbl, NULL, &result, str, test_str4); } }
void test_atomic_cmd_parse(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; const char *argv1[] = {"atomic", "begin", NULL}; const char *argv_err1[] = {"atomic", "invalid_arg", NULL}; // Normal case { ret = s_parse_atomic(&interp, state, ARGV_SIZE(argv_err1), argv_err1, &tbl, proc, NULL, NULL, NULL, &result); TEST_ASSERT_EQUAL_MESSAGE(LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, ret, "s_parse_atomic error."); } // Abnormal case { ret = s_parse_atomic(NULL, state, ARGV_SIZE(argv1), argv1, &tbl, proc, NULL, NULL, NULL, &result); TEST_ASSERT_EQUAL(LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, ret); ret = s_parse_atomic(&interp, state, ARGV_SIZE(argv1), argv1, NULL, proc, NULL, NULL, NULL, &result); TEST_ASSERT_EQUAL(LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, ret); ret = s_parse_atomic(&interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, NULL, NULL, NULL, &result); TEST_ASSERT_EQUAL(LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, ret); ret = s_parse_atomic(&interp, state, ARGV_SIZE(argv1), argv1, &tbl, proc, NULL, NULL, NULL, NULL); TEST_ASSERT_EQUAL(LAGOPUS_RESULT_INVALID_ARGS, ret); } }
void test_flow_cmd_parse_dump_01(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"flow", NULL }; const char test_str1[] = ""; /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, flow_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); }
void test_agent_cmd_parse_bad_opt(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"agent", "-hoge", NULL}; const char test_str1[] = "{\"ret\":\"INVALID_ARGS\",\n" "\"data\":\"Unknown option '-hoge'\"}"; TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, s_parse_agent, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); }
void test_agent_cmd_parse_bad_channelq_max_batches(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"agent", "-channelq-max-batches", "hoge", NULL}; const char test_str1[] = "{\"ret\":\"INVALID_ARGS\",\n" "\"data\":\"can't parse 'hoge' as a uint16_t integer.\"}"; TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, s_parse_agent, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); }
void test_flow_cmd_parse_config_03(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"flow", "config", NULL }; const char test_str1[] = "{\"ret\":\"OK\",\n" "\"data\":{\"tmp-dir\":\"\\/tmp\"}}"; /* show cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, flow_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); }
void test_flow_cmd_parse_dump_not_bridge(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"flow", "bridge01", NULL }; const char test_str1[] = "{\"ret\":\"NOT_FOUND\",\n" "\"data\":\"name = "DATASTORE_NAMESPACE_DELIMITER"bridge01\"}"; /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, flow_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); }
void test_meter_cmd_parse_dump_02(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; uint64_t dpid = 5; uint32_t meter_id = 5; size_t band_num = 2; char *str = NULL; const char *argv1[] = {"meter", "b5", NULL }; const char test_str1[] = "{\"ret\":\"OK\",\n" "\"data\":[{\"name\":\""DATASTORE_NAMESPACE_DELIMITER"b5\",\n" "\"meters\":[{\"meter-id\":5,\n" "\"flags\":[\"kbps\",\n" "\"burst\"],\n" "\"bands\":[{\"band-id\":0,\n" "\"type\":\"drop\",\n" "\"rate\":1,\n" "\"burst-size\":2},\n" "{\"band-id\":1,\n" "\"type\":\"drop\",\n" "\"rate\":2,\n" "\"burst-size\":3}]}]}]}"; /* bridge create cmd. */ TEST_BRIDGE_CREATE(ret, &interp, state, &tbl, &ds, str, "b5", "5", "cha5", "c5", "i5", "p5", "5"); meter_create(dpid, meter_id, band_num); /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, meter_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); meter_destroy(dpid, meter_id); /* bridge destroy cmd.*/ TEST_BRIDGE_DESTROY(ret, &interp, state, &tbl, &ds, str, "b5", "cha5", "c5", "i5", "p5"); }
void setUp(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"bridge", bridge_name, "create", NULL}; const char test_str1[] = "{\"ret\":\"OK\"}"; /* create interp. */ INTERP_CREATE(ret, NULL,interp, tbl, ds); /* bridge create cmd. */ if (is_init == false) { is_init = true; TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, bridge_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, bridge_cmd_update, &ds, str, test_str1); } }
void test_flow_cmd_parse_config_bad_tmp_dir(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"flow", "config", "-tmp-dir", "/hoge", NULL }; const char test_str1[] = "{\"ret\":\"POSIX_API_ERROR\",\n" "\"data\":\"Bad opt value = \\/hoge.\"}"; /* show cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, flow_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); }
void test_route_cmd_parse_dump_01(void) { #ifdef HYBRID lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"route", NULL }; const char *test_str1 = ""; /* dump cmd */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, route_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); #else /* HYBRID */ TEST_IGNORE_MESSAGE("HYBRID is not defined."); #endif /* HYBRID*/ }
void test_flow_cmd_parse_dump_bad_opt_val_02(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"flow", "br0", "-table-id", "hoge", NULL }; const char test_str1[] = "{\"ret\":\"INVALID_ARGS\",\n" "\"data\":\"Bad opt value = hoge.\"}"; /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, flow_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); }
void test_route_cmd_parse_config_tmp_dir03(void) { #ifdef HYBRID lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"route", "config", NULL }; const char test_str1[] = "{\"ret\":\"OK\",\n" "\"data\":{\"tmp-dir\":\"\\/tmp\"}}"; /* show cmd */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, route_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); #else /* HYBRID */ TEST_IGNORE_MESSAGE("HYBRID is not defined."); #endif /* HYBRID */ }
void test_route_cmd_parse_dump_not_bridge(void) { #ifdef HYBRID lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"route", "bridge01", NULL }; const char test_str1[] = "{\"ret\":\"NOT_FOUND\",\n" "\"data\":\"name = "DATASTORE_NAMESPACE_DELIMITER"bridge01\"}"; /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, route_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); #else /* HYBRID */ TEST_IGNORE_MESSAGE("HYBRID is not defined."); #endif /* HYBRID */ }
void test_mactable_cmd_parse_dump_bad_opt_val_02(void) { #ifdef HYBRID lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"route", "br0", "-table-id", "hoge", NULL }; const char test_str1[] = "{\"ret\":\"INVALID_ARGS\",\n" "\"data\":\"Bad opt value = hoge.\"}"; /* dump cmd. */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_DATASTORE_INTERP_ERROR, route_cmd_parse, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); #else /* HYBRID */ TEST_IGNORE_MESSAGE("HYBRID is not defined."); #endif /* HYBRID */ }
void test_agent_cmd_parse_set_opts(void) { lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES; datastore_interp_state_t state = DATASTORE_INTERP_STATE_AUTO_COMMIT; char *str = NULL; const char *argv1[] = {"agent", NULL}; const char test_str1[] = "{\"ret\":\"OK\",\n" "\"data\":[{\"channelq-size\":1000,\n" "\"channelq-max-batches\":1000}]}"; const char *argv2[] = {"agent", "-channelq-size", "1", NULL}; const char test_str2[] = "{\"ret\":\"OK\"}"; const char *argv3[] = {"agent", NULL}; const char test_str3[] = "{\"ret\":\"OK\",\n" "\"data\":[{\"channelq-size\":1,\n" "\"channelq-max-batches\":1000}]}"; const char *argv4[] = {"agent", "-channelq-size", NULL}; const char test_str4[] = "{\"ret\":\"OK\",\n" "\"data\":[{\"channelq-size\":1}]}"; const char *argv5[] = {"agent", "-channelq-max-batches", "2", NULL}; const char test_str5[] = "{\"ret\":\"OK\"}"; const char *argv6[] = {"agent", NULL}; const char test_str6[] = "{\"ret\":\"OK\",\n" "\"data\":[{\"channelq-size\":1,\n" "\"channelq-max-batches\":2}]}"; const char *argv7[] = {"agent", "-channelq-max-batches", NULL}; const char test_str7[] = "{\"ret\":\"OK\",\n" "\"data\":[{\"channelq-max-batches\":2}]}"; /* show */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv1), argv1, &tbl, NULL, &ds, str, test_str1); /* set channelq-size */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv2), argv2, &tbl, NULL, &ds, str, test_str2); /* show */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv3), argv3, &tbl, NULL, &ds, str, test_str3); /* show channelq-size */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv4), argv4, &tbl, NULL, &ds, str, test_str4); /* set channelq-size */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv5), argv5, &tbl, NULL, &ds, str, test_str5); /* show */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv6), argv6, &tbl, NULL, &ds, str, test_str6); /* show channelq-max-batches */ TEST_CMD_PARSE(ret, LAGOPUS_RESULT_OK, s_parse_agent, &interp, state, ARGV_SIZE(argv7), argv7, &tbl, NULL, &ds, str, test_str7); }