@@ -20,6 +20,21 @@ probe="scripts/e2e/lib/bundled-plugin-install-uninstall/probe.mjs"
|
20 | 20 | runtime_smoke="scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs" |
21 | 21 | node "$probe" select > /tmp/bundled-plugin-sweep-ids |
22 | 22 | |
| 23 | +now_ms() { |
| 24 | + node -e 'process.stdout.write(String(Date.now()))' |
| 25 | +} |
| 26 | + |
| 27 | +lifecycle_trace_enabled() { |
| 28 | +case "${OPENCLAW_PLUGIN_LIFECYCLE_TRACE:-}" in |
| 29 | + 1 | true | TRUE | yes | YES) |
| 30 | +return 0 |
| 31 | + ;; |
| 32 | +*) |
| 33 | +return 1 |
| 34 | + ;; |
| 35 | +esac |
| 36 | +} |
| 37 | + |
23 | 38 | plugin_entries=() |
24 | 39 | while IFS= read -r plugin_entry; do |
25 | 40 | plugin_entries+=("$plugin_entry") |
@@ -36,14 +51,18 @@ for plugin_entry in "${plugin_entries[@]}"; do
|
36 | 51 | IFS=$'\t' read -r plugin_id plugin_dir requires_config plugin_root <<<"$plugin_entry" |
37 | 52 | install_log="/tmp/openclaw-install-${plugin_index}.log" |
38 | 53 | uninstall_log="/tmp/openclaw-uninstall-${plugin_index}.log" |
39 | | - plugin_started_at="$(date +%s)" |
| 54 | + plugin_started_at="$(now_ms)" |
40 | 55 | echo "Installing bundled plugin: $plugin_id ($plugin_dir)" |
41 | 56 | node "$OPENCLAW_ENTRY" plugins install "$plugin_id" >"$install_log" 2>&1 || { |
42 | 57 | cat "$install_log" |
43 | 58 | exit 1 |
44 | 59 | } |
45 | | - install_finished_at="$(date +%s)" |
| 60 | +if lifecycle_trace_enabled; then |
| 61 | + cat "$install_log" |
| 62 | +fi |
| 63 | + install_finished_at="$(now_ms)" |
46 | 64 | node "$probe" assert-installed "$plugin_id" "$plugin_dir" "$requires_config" |
| 65 | + installed_asserted_at="$(now_ms)" |
47 | 66 | if [[ "${OPENCLAW_BUNDLED_PLUGIN_RUNTIME_SMOKE:-1}" != "0" ]]; then |
48 | 67 | echo "Running bundled plugin runtime smoke: $plugin_id ($plugin_dir)" |
49 | 68 | node "$runtime_smoke" plugin "$plugin_id" "$plugin_dir" "$requires_config" "$plugin_index" "$plugin_root" |
@@ -52,15 +71,20 @@ for plugin_entry in "${plugin_entries[@]}"; do
|
52 | 71 | node "$runtime_smoke" tts-openai-live "$plugin_id" "$plugin_dir" "$requires_config" "$plugin_index" |
53 | 72 | fi |
54 | 73 | fi |
| 74 | + runtime_finished_at="$(now_ms)" |
55 | 75 | |
56 | 76 | echo "Uninstalling bundled plugin: $plugin_id ($plugin_dir)" |
57 | 77 | node "$OPENCLAW_ENTRY" plugins uninstall "$plugin_id" --force >"$uninstall_log" 2>&1 || { |
58 | 78 | cat "$uninstall_log" |
59 | 79 | exit 1 |
60 | 80 | } |
61 | | - uninstall_finished_at="$(date +%s)" |
| 81 | +if lifecycle_trace_enabled; then |
| 82 | + cat "$uninstall_log" |
| 83 | +fi |
| 84 | + uninstall_finished_at="$(now_ms)" |
62 | 85 | node "$probe" assert-uninstalled "$plugin_id" "$plugin_dir" |
63 | | -echo "Bundled plugin lifecycle timing: $plugin_id install=$((install_finished_at - plugin_started_at))s uninstall=$((uninstall_finished_at - install_finished_at))s total=$((uninstall_finished_at - plugin_started_at))s" |
| 86 | + uninstalled_asserted_at="$(now_ms)" |
| 87 | +echo "Bundled plugin lifecycle timing: $plugin_id install_ms=$((install_finished_at - plugin_started_at)) install_assert_ms=$((installed_asserted_at - install_finished_at)) runtime_ms=$((runtime_finished_at - installed_asserted_at)) uninstall_ms=$((uninstall_finished_at - runtime_finished_at)) uninstall_assert_ms=$((uninstalled_asserted_at - uninstall_finished_at)) total_ms=$((uninstalled_asserted_at - plugin_started_at))" |
64 | 88 | plugin_index=$((plugin_index + 1)) |
65 | 89 | done |
66 | 90 | |
|