@@ -7,9 +7,22 @@ source scripts/lib/docker-e2e-logs.sh
77OPENCLAW_ENTRY=" $( openclaw_e2e_resolve_entrypoint) "
88export OPENCLAW_ENTRY
99export KITCHEN_SINK_TMP_DIR=" ${KITCHEN_SINK_TMP_DIR:-/ tmp} "
10+ KITCHEN_SINK_CLI_TIMEOUT=" ${KITCHEN_SINK_CLI_TIMEOUT:- 180s} "
1011
1112openclaw_e2e_eval_test_state_from_b64 " ${OPENCLAW_TEST_STATE_SCRIPT_B64:? missing OPENCLAW_TEST_STATE_SCRIPT_B64} "
1213
14+ run_kitchen_sink_openclaw_logged () {
15+ local label=" $1 "
16+ shift
17+ run_logged_print " $label " openclaw_e2e_maybe_timeout " $KITCHEN_SINK_CLI_TIMEOUT " node " $OPENCLAW_ENTRY " " $@ "
18+ }
19+
20+ run_kitchen_sink_openclaw_capture () {
21+ local output_file=" $1 "
22+ shift
23+ openclaw_e2e_maybe_timeout " $KITCHEN_SINK_CLI_TIMEOUT " node " $OPENCLAW_ENTRY " " $@ " > " $output_file "
24+ }
25+
1326run_expect_failure () {
1427 local label=" $1 "
1528 shift
@@ -84,32 +97,32 @@ run_success_scenario() {
8497 echo " Testing ${KITCHEN_SINK_LABEL} install from ${KITCHEN_SINK_SPEC} ..."
8598 local install_args=(" $KITCHEN_SINK_SPEC " )
8699 if [ -n " ${KITCHEN_SINK_PREINSTALL_SPEC:- } " ]; then
87- run_logged_print " kitchen-sink-preinstall-${KITCHEN_SINK_LABEL} " node " $OPENCLAW_ENTRY " plugins install " $KITCHEN_SINK_PREINSTALL_SPEC "
100+ run_kitchen_sink_openclaw_logged " kitchen-sink-preinstall-${KITCHEN_SINK_LABEL} " plugins install " $KITCHEN_SINK_PREINSTALL_SPEC "
88101 assert_kitchen_sink_cutover_preinstalled
89102 install_args+=(" --force" )
90103 fi
91- run_logged_print " kitchen-sink-install-${KITCHEN_SINK_LABEL} " node " $OPENCLAW_ENTRY " plugins install " ${install_args[@]} "
104+ run_kitchen_sink_openclaw_logged " kitchen-sink-install-${KITCHEN_SINK_LABEL} " plugins install " ${install_args[@]} "
92105 configure_kitchen_sink_runtime
93- run_logged_print " kitchen-sink-enable-${KITCHEN_SINK_LABEL} " node " $OPENCLAW_ENTRY " plugins enable " $KITCHEN_SINK_ID "
94- node " $OPENCLAW_ENTRY " plugins list --json > " $ {KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -plugins.json"
95- node " $OPENCLAW_ENTRY " plugins inspect " $KITCHEN_SINK_ID " --runtime --json > " ${KITCHEN_SINK_TMP_DIR} /kitchen-sink- ${KITCHEN_SINK_LABEL} -inspect.json "
96- node " $OPENCLAW_ENTRY " plugins inspect --all --runtime --json > " $ {KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -inspect-all.json"
106+ run_kitchen_sink_openclaw_logged " kitchen-sink-enable-${KITCHEN_SINK_LABEL} " plugins enable " $KITCHEN_SINK_ID "
107+ run_kitchen_sink_openclaw_capture " ${KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -plugins.json" plugins list --json
108+ run_kitchen_sink_openclaw_capture " ${KITCHEN_SINK_TMP_DIR} /kitchen-sink- ${KITCHEN_SINK_LABEL} -inspect.json " plugins inspect " $KITCHEN_SINK_ID " --runtime --json
109+ run_kitchen_sink_openclaw_capture " ${KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -inspect-all.json" plugins inspect --all --runtime --json
97110 assert_kitchen_sink_installed
98111 if [ " $KITCHEN_SINK_SOURCE " = " clawhub" ]; then
99- run_logged_print " kitchen-sink-uninstall-${KITCHEN_SINK_LABEL} " node " $OPENCLAW_ENTRY " plugins uninstall " $KITCHEN_SINK_SPEC " --force
112+ run_kitchen_sink_openclaw_logged " kitchen-sink-uninstall-${KITCHEN_SINK_LABEL} " plugins uninstall " $KITCHEN_SINK_SPEC " --force
100113 else
101- run_logged_print " kitchen-sink-uninstall-${KITCHEN_SINK_LABEL} " node " $OPENCLAW_ENTRY " plugins uninstall " $KITCHEN_SINK_ID " --force
114+ run_kitchen_sink_openclaw_logged " kitchen-sink-uninstall-${KITCHEN_SINK_LABEL} " plugins uninstall " $KITCHEN_SINK_ID " --force
102115 fi
103116 remove_kitchen_sink_channel_config
104- node " $OPENCLAW_ENTRY " plugins list --json > " $ {KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -uninstalled.json"
117+ run_kitchen_sink_openclaw_capture " ${KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -uninstalled.json" plugins list --json
105118 assert_kitchen_sink_removed
106119}
107120
108121run_failure_scenario () {
109122 echo " Testing expected ${KITCHEN_SINK_LABEL} install failure from ${KITCHEN_SINK_SPEC} ..."
110- run_expect_failure " install-${KITCHEN_SINK_LABEL} " node " $OPENCLAW_ENTRY " plugins install " $KITCHEN_SINK_SPEC "
123+ run_expect_failure " install-${KITCHEN_SINK_LABEL} " openclaw_e2e_maybe_timeout " $KITCHEN_SINK_CLI_TIMEOUT " node " $OPENCLAW_ENTRY " plugins install " $KITCHEN_SINK_SPEC "
111124 remove_kitchen_sink_channel_config
112- node " $OPENCLAW_ENTRY " plugins list --json > " $ {KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -uninstalled.json"
125+ run_kitchen_sink_openclaw_capture " ${KITCHEN_SINK_TMP_DIR} /kitchen-sink-${KITCHEN_SINK_LABEL} -uninstalled.json" plugins list --json
113126 assert_kitchen_sink_removed
114127}
115128
0 commit comments