if (rc == 0)
break;
- /* skip reset */
- while (event.type != YAML_MAPPING_END_EVENT) {
+ /* skip ALL peer_ni info */
+ while (event.type != YAML_SEQUENCE_END_EVENT) {
rc = yaml_parser_parse(reply, &event);
if (rc == 0)
goto report_reply_error;
}
- /* we can have map end, seq end, map end or
- * just map end event. If we see seq end event
- * then skip to next mapping end event
- */
+ /* But keep sequence end event */
rc = yaml_parser_parse(reply, &event);
if (rc == 0)
goto report_reply_error;
yaml_document_delete(&errmsg);
}
out_err:
- if (rc == 0)
+ if (rc == 0) {
yaml_emitter_log_error(&debug, stderr);
+ rc = -EINVAL; /* Avoid reporting as reply error */
+ }
report_reply_error:
yaml_emitter_delete(&debug);
if (msg && strcmp(msg, "No peers found") == 0)
rc = 1;
}
-
}
yaml_emitter_delete(&output);
free_reply:
}
run_test 27 "Import bad config should fail gracefully"
+test_28() {
+ reinit_dlc || return $?
+
+ do_lnetctl peer add --prim_nid 1.1.1.1@tcp --ni 7.7.7.7@tcp ||
+ error "First peer add failed $?"
+ do_lnetctl peer add --prim_nid 1.1.1.2@tcp --nid 7.7.7.8@tcp ||
+ error "Second peer add failed $?"
+
+ count=$(do_lnetctl peer list | awk '/-\s+nid:/{print $NF}' | wc -l)
+ [[ $count -eq 2 ]] || error "wrong number of peers reported"
+}
+run_test 28 "Test peer_list"
+
test_99a() {
reinit_dlc || return $?