From 8c3a489e33fa7c2134a1b084c7d35720cff4ccfa Mon Sep 17 00:00:00 2001 From: Miguel de Benito Delgado Date: Tue, 3 Nov 2026 15:58:18 +0100 Subject: [PATCH] :recycle: Reorganize benchmark runner, reporting and cli --- .../performance/benches/render_wasm/README.md | 10 ++++- .../{feature_plan.cljs => features/plan.cljs} | 8 ++-- .../options.cljs => features/selection.cljs} | 23 +---------- .../{case_catalog.cljs => catalog/entry.cljs} | 2 +- .../{catalog.cljs => catalog/loader.cljs} | 2 +- .../node/cli/{ => commands}/ab.cljs | 10 ++--- .../node/cli/{ => commands}/build.cljs | 13 ++++--- .../node/cli/{ => commands}/compare.cljs | 2 +- .../node/cli/{ => commands}/merge.cljs | 2 +- .../node/cli/{ => commands}/purge.cljs | 2 +- .../node/cli/{ => commands}/run.cljs | 4 +- .../benches/render_wasm/node/cli/console.cljs | 17 +++++++-- .../node/{commands.cljs => cli/deferred.cljs} | 12 +++--- .../render_wasm/node/{ => cli}/execution.cljs | 6 +-- .../node/{runner.cljs => cli/main.cljs} | 14 +++---- .../render_wasm/node/cli/registry.cljs | 12 +++--- .../render_wasm/node/{ => cli}/request.cljs | 2 +- .../node/{cli.cljs => cli/resolve.cljs} | 6 +-- .../benches/render_wasm/node/cli/shared.cljs | 13 +++++-- .../node/{ => report}/compare.cljs | 4 +- .../render_wasm/node/{ => report}/merge.cljs | 4 +- .../node/{ => runner}/browser.cljs | 10 ++--- .../render_wasm/node/{ => runner}/build.cljs | 17 +++++---- .../node/{ => runner}/feature_comparison.cljs | 24 ++++++------ .../render_wasm/node/{ => runner}/run.cljs | 14 +++---- .../render_wasm/node/{ => runner}/server.cljs | 6 +-- .../benches/render_wasm/node/settings.cljs | 11 ++++++ .../node/{ => storage}/artifacts.cljs | 2 +- .../render_wasm/node/{ => storage}/runs.cljs | 4 +- .../benches/render_wasm/result.cljs | 2 +- .../render_wasm/artifacts_test.cljs | 4 +- .../render_wasm/browser_test.cljs | 4 +- .../render_wasm/build_test.cljs | 2 +- .../render_wasm/cli_integration.cjs | 2 +- .../render_wasm/cli_test.cljs | 4 +- .../render_wasm/compare_test.cljs | 4 +- .../render_wasm/execution_test.cljs | 6 +-- .../render_wasm/feature_comparison_test.cljs | 38 +++++++++---------- .../render_wasm/request_test.cljs | 2 +- .../render_wasm/run_test.cljs | 12 +++--- .../render_wasm/runs_test.cljs | 4 +- .../render_wasm/server_test.cljs | 2 +- 42 files changed, 178 insertions(+), 164 deletions(-) rename frontend/performance/benches/render_wasm/{feature_plan.cljs => features/plan.cljs} (93%) rename frontend/performance/benches/render_wasm/{node/options.cljs => features/selection.cljs} (67%) rename frontend/performance/benches/render_wasm/node/{case_catalog.cljs => catalog/entry.cljs} (98%) rename frontend/performance/benches/render_wasm/node/{catalog.cljs => catalog/loader.cljs} (97%) rename frontend/performance/benches/render_wasm/node/cli/{ => commands}/ab.cljs (87%) rename frontend/performance/benches/render_wasm/node/cli/{ => commands}/build.cljs (71%) rename frontend/performance/benches/render_wasm/node/cli/{ => commands}/compare.cljs (97%) rename frontend/performance/benches/render_wasm/node/cli/{ => commands}/merge.cljs (95%) rename frontend/performance/benches/render_wasm/node/cli/{ => commands}/purge.cljs (95%) rename frontend/performance/benches/render_wasm/node/cli/{ => commands}/run.cljs (96%) rename frontend/performance/benches/render_wasm/node/{commands.cljs => cli/deferred.cljs} (89%) rename frontend/performance/benches/render_wasm/node/{ => cli}/execution.cljs (98%) rename frontend/performance/benches/render_wasm/node/{runner.cljs => cli/main.cljs} (85%) rename frontend/performance/benches/render_wasm/node/{ => cli}/request.cljs (97%) rename frontend/performance/benches/render_wasm/node/{cli.cljs => cli/resolve.cljs} (96%) rename frontend/performance/benches/render_wasm/node/{ => report}/compare.cljs (95%) rename frontend/performance/benches/render_wasm/node/{ => report}/merge.cljs (92%) rename frontend/performance/benches/render_wasm/node/{ => runner}/browser.cljs (98%) rename frontend/performance/benches/render_wasm/node/{ => runner}/build.cljs (95%) rename frontend/performance/benches/render_wasm/node/{ => runner}/feature_comparison.cljs (97%) rename frontend/performance/benches/render_wasm/node/{ => runner}/run.cljs (98%) rename frontend/performance/benches/render_wasm/node/{ => runner}/server.cljs (98%) create mode 100644 frontend/performance/benches/render_wasm/node/settings.cljs rename frontend/performance/benches/render_wasm/node/{ => storage}/artifacts.cljs (99%) rename frontend/performance/benches/render_wasm/node/{ => storage}/runs.cljs (95%) diff --git a/frontend/performance/benches/render_wasm/README.md b/frontend/performance/benches/render_wasm/README.md index 4ddf5dda9c..50862a0eeb 100644 --- a/frontend/performance/benches/render_wasm/README.md +++ b/frontend/performance/benches/render_wasm/README.md @@ -1290,7 +1290,14 @@ observed change matters for the workload. ```text frontend/performance/benches/render_wasm/ ├── browser/ page entry and browser bridge -├── node/ CLI, build preparation, server, browser host, run, artefacts +├── features/ feature selection, configurations and comparison edges +├── node/ +│ ├── catalog/ compiled catalog entry and retained catalog loader +│ ├── cli/ CLI entry, resolution, requests and execution lifecycle +│ │ └── commands/ per-command schemas, help and resolution +│ ├── report/ saved-record comparison and merge +│ ├── runner/ build preparation, server, browser host and run orchestration +│ └── storage/ artifacts and saved runs ├── report/ summaries, comparisons, statistics, formatting ├── runtime/ renderer commands, render drains, and camera sessions ├── scenes/ scene recipes and their cases @@ -1299,7 +1306,6 @@ frontend/performance/benches/render_wasm/ ├── cases.cljs case discovery and collection ├── codec.cljs Transit round-trip validation ├── errors.cljc failure values and diagnostics -├── feature_plan.cljs feature configurations and comparison edges ├── snapshot.cljs snapshot validation and upload order ├── fingerprint.cljs digest of the starting snapshot ├── identity.cljc build identity and bundle compatibility checks diff --git a/frontend/performance/benches/render_wasm/feature_plan.cljs b/frontend/performance/benches/render_wasm/features/plan.cljs similarity index 93% rename from frontend/performance/benches/render_wasm/feature_plan.cljs rename to frontend/performance/benches/render_wasm/features/plan.cljs index 19fcc1db41..e2b49d49d8 100644 --- a/frontend/performance/benches/render_wasm/feature_plan.cljs +++ b/frontend/performance/benches/render_wasm/features/plan.cljs @@ -4,10 +4,10 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.feature-plan +(ns benches.render-wasm.features.plan "Requested-feature configurations and comparison edges." (:require - [benches.render-wasm.node.options :as options] + [benches.render-wasm.features.selection :as selection] [clojure.string :as str])) (def ^:const default-max-features 3) @@ -16,7 +16,7 @@ "Checks names and empty declared defaults against Cargo metadata's feature definitions. Cargo owns activation; these definitions are not resolved here." [features definitions] - (let [features (:features (options/feature-selection {:features features}))] + (let [features (:features (selection/feature-selection {:features features}))] (when-not (and (map? definitions) (every? string? (keys definitions)) (every? #(and (vector? %) (every? string? %)) (vals definitions))) @@ -34,7 +34,7 @@ above eight configurations or with an empty filter; dry-run needs none." [features {:keys [max-features confirm dry-run filter] :or {max-features default-max-features confirm false dry-run false}}] - (let [features (:features (options/feature-selection {:features features})) + (let [features (:features (selection/feature-selection {:features features})) n (count features)] (when-not (and (int? max-features) (<= 1 max-features 6)) (throw (ex-info "max-features must be an integer from 1 to 6" {:type ::invalid-limit}))) diff --git a/frontend/performance/benches/render_wasm/node/options.cljs b/frontend/performance/benches/render_wasm/features/selection.cljs similarity index 67% rename from frontend/performance/benches/render_wasm/node/options.cljs rename to frontend/performance/benches/render_wasm/features/selection.cljs index db90da8165..338c1e713e 100644 --- a/frontend/performance/benches/render_wasm/node/options.cljs +++ b/frontend/performance/benches/render_wasm/features/selection.cljs @@ -4,13 +4,8 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.options - "Command defaults and feature validation." - (:require - [clojure.string :as str])) - -(def default-build-timeout-ms 300000) -(def default-startup-timeout-ms 30000) +(ns benches.render-wasm.features.selection + "Feature validation.") (def ^:private diagnostic-features #{"stats" "profile" "profile-macros" "profile-raf"}) @@ -32,17 +27,3 @@ (throw (ex-info "measurement builds cannot enable diagnostic Cargo features" {:type ::diagnostic-features :features (vec selected)}))) {:default-features? default-features? :features (vec (sort (distinct features)))}) - -(defn parse-feature-list - [text] - (:features (feature-selection {:features (mapv str/trim (str/split text #"," -1))}))) - -(defn console-level - "Returns the console level selected by quiet or verbose options." - [opts] - (cond (:quiet opts) :warn (:verbose opts) :debug :else :info)) - -(defn color-mode - "Returns automatic, forced or disabled console coloring." - [opts] - (case (:color opts) true :always false :never :auto)) diff --git a/frontend/performance/benches/render_wasm/node/case_catalog.cljs b/frontend/performance/benches/render_wasm/node/catalog/entry.cljs similarity index 98% rename from frontend/performance/benches/render_wasm/node/case_catalog.cljs rename to frontend/performance/benches/render_wasm/node/catalog/entry.cljs index 16ace92583..3d3e61194b 100644 --- a/frontend/performance/benches/render_wasm/node/case_catalog.cljs +++ b/frontend/performance/benches/render_wasm/node/catalog/entry.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.case-catalog +(ns benches.render-wasm.node.catalog.entry "Node entry points of a compiled renderer benchmark build. The `:bench-render-wasm-catalog` build in `frontend/shadow-cljs.edn` names diff --git a/frontend/performance/benches/render_wasm/node/catalog.cljs b/frontend/performance/benches/render_wasm/node/catalog/loader.cljs similarity index 97% rename from frontend/performance/benches/render_wasm/node/catalog.cljs rename to frontend/performance/benches/render_wasm/node/catalog/loader.cljs index 34a2a60b4c..0d30924d96 100644 --- a/frontend/performance/benches/render_wasm/node/catalog.cljs +++ b/frontend/performance/benches/render_wasm/node/catalog/loader.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.catalog +(ns benches.render-wasm.node.catalog.loader "Loads case descriptors from a selected build, without the runner's registry." (:require ["module" :as node-module] diff --git a/frontend/performance/benches/render_wasm/node/cli/ab.cljs b/frontend/performance/benches/render_wasm/node/cli/commands/ab.cljs similarity index 87% rename from frontend/performance/benches/render_wasm/node/cli/ab.cljs rename to frontend/performance/benches/render_wasm/node/cli/commands/ab.cljs index f1b9db0251..279bde3100 100644 --- a/frontend/performance/benches/render_wasm/node/cli/ab.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/commands/ab.cljs @@ -4,12 +4,12 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.cli.ab +(ns benches.render-wasm.node.cli.commands.ab "Options for comparing configurations of Cargo features." (:require - [benches.render-wasm.feature-plan :as feature-plan] + [benches.render-wasm.features.plan :as feature-plan] [benches.render-wasm.node.cli.shared :as shared] - [benches.render-wasm.node.options :as options])) + [benches.render-wasm.node.settings :as settings])) (def schema:max-features [:int {:min 1 :max 6}]) @@ -21,7 +21,7 @@ [:max-features {:default feature-plan/default-max-features} schema:max-features] [:confirm {:default false} :boolean] [:dry-run {:default false} :boolean] - [:build-timeout-ms {:default options/default-build-timeout-ms} shared/schema:timeout-ms]]]) + [:build-timeout-ms {:default settings/default-build-timeout-ms} shared/schema:timeout-ms]]]) (def ^:const usage "runner ab --features A,B [options]") @@ -31,7 +31,7 @@ (def cli-options (into [[nil "--features FEATURES" "Comma-separated functional Cargo features" - :parse-fn options/parse-feature-list] + :parse-fn shared/parse-feature-list] (shared/number-option "--max-features N" "Maximum number of requested features" schema:max-features "must be an integer from 1 to 6") [nil "--confirm" "Confirm above eight configurations or with a blank filter"] diff --git a/frontend/performance/benches/render_wasm/node/cli/build.cljs b/frontend/performance/benches/render_wasm/node/cli/commands/build.cljs similarity index 71% rename from frontend/performance/benches/render_wasm/node/cli/build.cljs rename to frontend/performance/benches/render_wasm/node/cli/commands/build.cljs index 86bb6a9e20..ae5b376236 100644 --- a/frontend/performance/benches/render_wasm/node/cli/build.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/commands/build.cljs @@ -4,17 +4,18 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.cli.build +(ns benches.render-wasm.node.cli.commands.build "Options for preparing a benchmark build." (:require + [benches.render-wasm.features.selection :as selection] [benches.render-wasm.node.cli.shared :as shared] - [benches.render-wasm.node.options :as options])) + [benches.render-wasm.node.settings :as settings])) (def schema:options [:map {:closed true} [:default-features {:default true} :boolean] [:features {:default []} [:vector shared/schema:feature]] - [:build-timeout-ms {:default options/default-build-timeout-ms} shared/schema:timeout-ms]]) + [:build-timeout-ms {:default settings/default-build-timeout-ms} shared/schema:timeout-ms]]) (def ^:const usage "runner build [options]") @@ -23,7 +24,7 @@ (def cli-options [[nil "--[no-]default-features" "Enable Cargo defaults"] [nil "--features FEATURES" "Comma-separated functional Cargo features" - :parse-fn options/parse-feature-list] + :parse-fn shared/parse-feature-list] (shared/build-timeout-option "Complete preparation deadline")]) (defn resolve-options @@ -35,6 +36,6 @@ (defn check-options "Checks measurement feature policy and returns the resolved build options." [resolved] - (options/feature-selection {:default-features? (:default-features resolved) - :features (:features resolved)}) + (selection/feature-selection {:default-features? (:default-features resolved) + :features (:features resolved)}) resolved) diff --git a/frontend/performance/benches/render_wasm/node/cli/compare.cljs b/frontend/performance/benches/render_wasm/node/cli/commands/compare.cljs similarity index 97% rename from frontend/performance/benches/render_wasm/node/cli/compare.cljs rename to frontend/performance/benches/render_wasm/node/cli/commands/compare.cljs index 1dcbdda56e..eefc8fe0e2 100644 --- a/frontend/performance/benches/render_wasm/node/cli/compare.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/commands/compare.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.cli.compare +(ns benches.render-wasm.node.cli.commands.compare "Options for comparing saved benchmark records." (:require [app.common.schema :as sm] diff --git a/frontend/performance/benches/render_wasm/node/cli/merge.cljs b/frontend/performance/benches/render_wasm/node/cli/commands/merge.cljs similarity index 95% rename from frontend/performance/benches/render_wasm/node/cli/merge.cljs rename to frontend/performance/benches/render_wasm/node/cli/commands/merge.cljs index 77f8935adb..070e8c6c79 100644 --- a/frontend/performance/benches/render_wasm/node/cli/merge.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/commands/merge.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.cli.merge +(ns benches.render-wasm.node.cli.commands.merge "Options for merging saved benchmark records." (:require [app.common.schema :as sm] diff --git a/frontend/performance/benches/render_wasm/node/cli/purge.cljs b/frontend/performance/benches/render_wasm/node/cli/commands/purge.cljs similarity index 95% rename from frontend/performance/benches/render_wasm/node/cli/purge.cljs rename to frontend/performance/benches/render_wasm/node/cli/commands/purge.cljs index eda1674596..b00c7a6105 100644 --- a/frontend/performance/benches/render_wasm/node/cli/purge.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/commands/purge.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.cli.purge +(ns benches.render-wasm.node.cli.commands.purge "Options for purging managed benchmark artifacts." (:require [benches.render-wasm.node.cli.shared :as shared])) diff --git a/frontend/performance/benches/render_wasm/node/cli/run.cljs b/frontend/performance/benches/render_wasm/node/cli/commands/run.cljs similarity index 96% rename from frontend/performance/benches/render_wasm/node/cli/run.cljs rename to frontend/performance/benches/render_wasm/node/cli/commands/run.cljs index eec5fb1baf..a6280e1541 100644 --- a/frontend/performance/benches/render_wasm/node/cli/run.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/commands/run.cljs @@ -4,11 +4,11 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.cli.run +(ns benches.render-wasm.node.cli.commands.run "Options for a benchmark run and its selected build source." (:require [app.common.schema :as sm] - [benches.render-wasm.node.cli.build :as build] + [benches.render-wasm.node.cli.commands.build :as build] [benches.render-wasm.node.cli.shared :as shared])) (def schema:build diff --git a/frontend/performance/benches/render_wasm/node/cli/console.cljs b/frontend/performance/benches/render_wasm/node/cli/console.cljs index 9a70f2b539..16c9720347 100644 --- a/frontend/performance/benches/render_wasm/node/cli/console.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/console.cljs @@ -7,8 +7,7 @@ (ns benches.render-wasm.node.cli.console "Console settings carried by resolved benchmark requests." (:require - [benches.render-wasm.node.cli.shared :as shared] - [benches.render-wasm.node.options :as options])) + [benches.render-wasm.node.cli.shared :as shared])) (def schema:console [:map {:closed true} @@ -20,6 +19,16 @@ ["-v" "--verbose" "Show debug details and raw build output"] [nil "--[no-]color" "Colorize terminal output"]]) +(defn console-level + "Returns the console level selected by quiet or verbose options." + [opts] + (cond (:quiet opts) :warn (:verbose opts) :debug :else :info)) + +(defn color-mode + "Returns automatic, forced or disabled console coloring." + [opts] + (case (:color opts) true :always false :never :auto)) + (defn resolve-options "Resolves supplied console flags into console settings." [options] @@ -27,5 +36,5 @@ (throw (ex-info "--quiet and --verbose are mutually exclusive" {:type ::shared/invalid-args}))) (cond-> {} - (or (:quiet options) (:verbose options)) (assoc :level (options/console-level options)) - (contains? options :color) (assoc :color (options/color-mode options)))) + (or (:quiet options) (:verbose options)) (assoc :level (console-level options)) + (contains? options :color) (assoc :color (color-mode options)))) diff --git a/frontend/performance/benches/render_wasm/node/commands.cljs b/frontend/performance/benches/render_wasm/node/cli/deferred.cljs similarity index 89% rename from frontend/performance/benches/render_wasm/node/commands.cljs rename to frontend/performance/benches/render_wasm/node/cli/deferred.cljs index 13532bb033..122fa2d64c 100644 --- a/frontend/performance/benches/render_wasm/node/commands.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/deferred.cljs @@ -4,17 +4,17 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.commands +(ns benches.render-wasm.node.cli.deferred "Deferred execution entry for build, run and feature comparison commands." (:require [app.common.transit :as transit] [benches.render-wasm.errors :refer [attempt failure?]] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.build :as build] - [benches.render-wasm.node.execution :as execution] - [benches.render-wasm.node.feature-comparison :as feature-comparison] + [benches.render-wasm.node.cli.execution :as execution] [benches.render-wasm.node.outcome :as outcome] - [benches.render-wasm.node.run :as run])) + [benches.render-wasm.node.runner.build :as build] + [benches.render-wasm.node.runner.feature-comparison :as feature-comparison] + [benches.render-wasm.node.runner.run :as run] + [benches.render-wasm.node.storage.artifacts :as artifacts])) (defn- ^:async build-command [{:keys [get-root signal]} options] diff --git a/frontend/performance/benches/render_wasm/node/execution.cljs b/frontend/performance/benches/render_wasm/node/cli/execution.cljs similarity index 98% rename from frontend/performance/benches/render_wasm/node/execution.cljs rename to frontend/performance/benches/render_wasm/node/cli/execution.cljs index ed439bece7..8a272d08f1 100644 --- a/frontend/performance/benches/render_wasm/node/execution.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/execution.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.execution +(ns benches.render-wasm.node.cli.execution "Validate benchmark command requests, run their handlers and print results. Both the CLI entry and the separately compiled renderer command entry use @@ -21,9 +21,9 @@ [app.common.schema :as sm] [benches.render-wasm.errors :as errors :refer [attempt failure?]] [benches.render-wasm.node.cli.registry :as registry] + [benches.render-wasm.node.cli.request :as request] [benches.render-wasm.node.log :as log] - [benches.render-wasm.node.outcome :as outcome] - [benches.render-wasm.node.request :as request])) + [benches.render-wasm.node.outcome :as outcome])) (defn on-signals "Listen for process interrupts so the caller can stop work and finish cleanup. diff --git a/frontend/performance/benches/render_wasm/node/runner.cljs b/frontend/performance/benches/render_wasm/node/cli/main.cljs similarity index 85% rename from frontend/performance/benches/render_wasm/node/runner.cljs rename to frontend/performance/benches/render_wasm/node/cli/main.cljs index 3d659fff2b..8f9a5f0414 100644 --- a/frontend/performance/benches/render_wasm/node/runner.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/main.cljs @@ -4,18 +4,18 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.runner +(ns benches.render-wasm.node.cli.main "Command-line entry for renderer benchmarks and saved results." (:require ["path" :as path] [app.common.transit :as transit] [benches.render-wasm.errors :refer [attempt failure?]] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.cli :as cli] - [benches.render-wasm.node.compare :as compare] - [benches.render-wasm.node.execution :as execution] - [benches.render-wasm.node.merge :as merge] - [benches.render-wasm.node.outcome :as outcome])) + [benches.render-wasm.node.cli.execution :as execution] + [benches.render-wasm.node.cli.resolve :as cli] + [benches.render-wasm.node.outcome :as outcome] + [benches.render-wasm.node.report.compare :as compare] + [benches.render-wasm.node.report.merge :as merge] + [benches.render-wasm.node.storage.artifacts :as artifacts])) (defn- help-command [_ {:keys [topic]}] diff --git a/frontend/performance/benches/render_wasm/node/cli/registry.cljs b/frontend/performance/benches/render_wasm/node/cli/registry.cljs index 5d73f4a006..a9541448ec 100644 --- a/frontend/performance/benches/render_wasm/node/cli/registry.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/registry.cljs @@ -7,12 +7,12 @@ (ns benches.render-wasm.node.cli.registry "Ordered command definitions for parsing, request schemas and help." (:require - [benches.render-wasm.node.cli.ab :as ab] - [benches.render-wasm.node.cli.build :as build] - [benches.render-wasm.node.cli.compare :as compare] - [benches.render-wasm.node.cli.merge :as merge] - [benches.render-wasm.node.cli.purge :as purge] - [benches.render-wasm.node.cli.run :as run])) + [benches.render-wasm.node.cli.commands.ab :as ab] + [benches.render-wasm.node.cli.commands.build :as build] + [benches.render-wasm.node.cli.commands.compare :as compare] + [benches.render-wasm.node.cli.commands.merge :as merge] + [benches.render-wasm.node.cli.commands.purge :as purge] + [benches.render-wasm.node.cli.commands.run :as run])) (def commands [["build" {:usage build/usage diff --git a/frontend/performance/benches/render_wasm/node/request.cljs b/frontend/performance/benches/render_wasm/node/cli/request.cljs similarity index 97% rename from frontend/performance/benches/render_wasm/node/request.cljs rename to frontend/performance/benches/render_wasm/node/cli/request.cljs index 7324b32941..0aedff2c2c 100644 --- a/frontend/performance/benches/render_wasm/node/request.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/request.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.request +(ns benches.render-wasm.node.cli.request "Resolved benchmark requests, sender defaults and receiver validation." (:require [app.common.schema :as sm] diff --git a/frontend/performance/benches/render_wasm/node/cli.cljs b/frontend/performance/benches/render_wasm/node/cli/resolve.cljs similarity index 96% rename from frontend/performance/benches/render_wasm/node/cli.cljs rename to frontend/performance/benches/render_wasm/node/cli/resolve.cljs index 497d00e19d..3f7508f84c 100644 --- a/frontend/performance/benches/render_wasm/node/cli.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/resolve.cljs @@ -4,15 +4,15 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.cli +(ns benches.render-wasm.node.cli.resolve "Command-specific argument resolution and help for renderer benchmarks." (:require - [benches.render-wasm.feature-plan :as feature-plan] + [benches.render-wasm.features.plan :as feature-plan] [benches.render-wasm.node.cli.console :as console] [benches.render-wasm.node.cli.help :as help] [benches.render-wasm.node.cli.registry :as registry] + [benches.render-wasm.node.cli.request :as request] [benches.render-wasm.node.cli.shared :as shared] - [benches.render-wasm.node.request :as request] [clojure.string :as str] [clojure.tools.cli :as tools])) diff --git a/frontend/performance/benches/render_wasm/node/cli/shared.cljs b/frontend/performance/benches/render_wasm/node/cli/shared.cljs index 8ea71ba04c..0f8d2210db 100644 --- a/frontend/performance/benches/render_wasm/node/cli/shared.cljs +++ b/frontend/performance/benches/render_wasm/node/cli/shared.cljs @@ -8,8 +8,9 @@ "Value constraints and option groups shared by benchmark commands." (:require [app.common.schema :as sm] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.options :as options] + [benches.render-wasm.features.selection :as selection] + [benches.render-wasm.node.settings :as settings] + [benches.render-wasm.node.storage.artifacts :as artifacts] [benches.render-wasm.random :as random] [clojure.string :as str])) @@ -30,7 +31,7 @@ [:fn {:error/message "expected a benchmark artifact ID"} artifacts/valid-id?]) (def schema:feature - [:fn {:error/message "expected a Cargo feature name"} options/feature-name?]) + [:fn {:error/message "expected a Cargo feature name"} selection/feature-name?]) (def schema:measurement [:map {:closed true} @@ -39,7 +40,7 @@ [:warmups {:default 3} schema:nonnegative-count] [:repetitions {:default 10} schema:positive-count] [:timeout-ms {:default 30000} schema:timeout-ms] - [:startup-timeout-ms {:default options/default-startup-timeout-ms} schema:timeout-ms] + [:startup-timeout-ms {:default settings/default-startup-timeout-ms} schema:timeout-ms] [:output-dir {:default nil} [:maybe ::sm/text]] [:screenshots {:default false} :boolean] [:require-gpu {:default false} :boolean]]) @@ -50,6 +51,10 @@ [:allow-scene-differences {:default false} :boolean] [:allow-all-differences {:default false} :boolean]]) +(defn parse-feature-list + [text] + (:features (selection/feature-selection {:features (mapv str/trim (str/split text #"," -1))}))) + (defn- parse-number [text] (if (str/blank? text) js/NaN (js/Number text))) diff --git a/frontend/performance/benches/render_wasm/node/compare.cljs b/frontend/performance/benches/render_wasm/node/report/compare.cljs similarity index 95% rename from frontend/performance/benches/render_wasm/node/compare.cljs rename to frontend/performance/benches/render_wasm/node/report/compare.cljs index be9337e57d..ad25932cf5 100644 --- a/frontend/performance/benches/render_wasm/node/compare.cljs +++ b/frontend/performance/benches/render_wasm/node/report/compare.cljs @@ -4,12 +4,12 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.compare +(ns benches.render-wasm.node.report.compare "Offline comparison of two saved schema:run records. Inputs are user file paths resolved from the caller's cwd." (:require - [benches.render-wasm.node.runs :as runs] + [benches.render-wasm.node.storage.runs :as runs] [benches.render-wasm.report.compare :as compare] [benches.render-wasm.report.format :as format] [benches.render-wasm.result :as result])) diff --git a/frontend/performance/benches/render_wasm/node/merge.cljs b/frontend/performance/benches/render_wasm/node/report/merge.cljs similarity index 92% rename from frontend/performance/benches/render_wasm/node/merge.cljs rename to frontend/performance/benches/render_wasm/node/report/merge.cljs index e1d9854737..b501af36cf 100644 --- a/frontend/performance/benches/render_wasm/node/merge.cljs +++ b/frontend/performance/benches/render_wasm/node/report/merge.cljs @@ -4,11 +4,11 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.merge +(ns benches.render-wasm.node.report.merge "Offline merge of two saved schema:run records." (:require ["fs" :as fs] - [benches.render-wasm.node.runs :as runs] + [benches.render-wasm.node.storage.runs :as runs] [benches.render-wasm.result :as result])) (defn execute diff --git a/frontend/performance/benches/render_wasm/node/browser.cljs b/frontend/performance/benches/render_wasm/node/runner/browser.cljs similarity index 98% rename from frontend/performance/benches/render_wasm/node/browser.cljs rename to frontend/performance/benches/render_wasm/node/runner/browser.cljs index 682d480902..8efd5ba558 100644 --- a/frontend/performance/benches/render_wasm/node/browser.cljs +++ b/frontend/performance/benches/render_wasm/node/runner/browser.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.browser +(ns benches.render-wasm.node.runner.browser "Owns Chromium through process/run from spawn, then attaches Playwright by CDP. Shutdown stops the owned process group before disconnecting the client." (:require-macros @@ -17,8 +17,8 @@ [app.common.transit :as transit] [benches.render-wasm.errors :as errors :refer [attempt]] [benches.render-wasm.identity :as identity] - [benches.render-wasm.node.options :as options] - [benches.render-wasm.node.process :as process])) + [benches.render-wasm.node.process :as process] + [benches.render-wasm.node.settings :as settings])) (defn gpu-active? "Returns whether the development container enables GPU access." @@ -211,7 +211,7 @@ Startup failures include information about endpoint and profile." [{:keys [signal startup-timeout-ms deadline] - :or {startup-timeout-ms options/default-startup-timeout-ms}}] + :or {startup-timeout-ms settings/default-startup-timeout-ms}}] (let [deadline (or deadline (process/deadline startup-timeout-ms)) budget (process/remaining deadline)] (when (and signal (.-aborted ^js signal)) @@ -278,7 +278,7 @@ Failures close the started page/context before rejecting." [owner host {:keys [viewport signal startup-timeout-ms deadline] - :or {startup-timeout-ms options/default-startup-timeout-ms}}] + :or {startup-timeout-ms settings/default-startup-timeout-ms}}] (let [deadline (or deadline (process/deadline startup-timeout-ms)) bounds {:deadline deadline :signal signal :phase :browser-page-startup} ^js browser (:browser owner) diff --git a/frontend/performance/benches/render_wasm/node/build.cljs b/frontend/performance/benches/render_wasm/node/runner/build.cljs similarity index 95% rename from frontend/performance/benches/render_wasm/node/build.cljs rename to frontend/performance/benches/render_wasm/node/runner/build.cljs index a52f2fc0f5..d44ae1cc38 100644 --- a/frontend/performance/benches/render_wasm/node/build.cljs +++ b/frontend/performance/benches/render_wasm/node/runner/build.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.build +(ns benches.render-wasm.node.runner.build "These functions build the renderer and package it with the code that runs benchmarks in Node and the browser. @@ -22,12 +22,13 @@ ["url" :as url] [app.common.transit :as transit] [benches.render-wasm.errors :as errors :refer [attempt failure?]] + [benches.render-wasm.features.selection :as selection] [benches.render-wasm.identity :as identity] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.catalog :as catalog] + [benches.render-wasm.node.catalog.loader :as catalog] [benches.render-wasm.node.log :as log] - [benches.render-wasm.node.options :as options] [benches.render-wasm.node.process :as process] + [benches.render-wasm.node.settings :as settings] + [benches.render-wasm.node.storage.artifacts :as artifacts] [clojure.string :as str])) (defn ^:async git-provenance @@ -116,11 +117,11 @@ A failure rejects the promise and keeps any files already written for inspection. Error data includes :build-id and :log-path when available." [{:keys [root features selection build-timeout-ms signal on-created] - :or {build-timeout-ms options/default-build-timeout-ms}}] + :or {build-timeout-ms settings/default-build-timeout-ms}}] (when-not (and (js/Number.isSafeInteger build-timeout-ms) (pos? build-timeout-ms)) (throw (ex-info "build timeout must be a positive integer" {:type ::invalid-timeout}))) (let [root (or root (artifacts/frontend-root)) - selection (options/feature-selection (or selection features)) + selection (selection/feature-selection (or selection features)) deadline (process/deadline build-timeout-ms) bounds {:deadline deadline :signal signal} initial (artifacts/create-build root selection {:git {:sha nil :dirty nil} @@ -153,8 +154,8 @@ "RENDER_WASM_BUILD_INFO" facts-path}}))) (let [facts (js/JSON.parse (fs/readFileSync facts-path "utf8")) profile (js->clj (.-profile facts) :keywordize-keys true) - resolved (:features (options/feature-selection {:features (js->clj (.-features facts)) - :default-features? (:default-features? selection)}))] + resolved (:features (selection/feature-selection {:features (js->clj (.-features facts)) + :default-features? (:default-features? selection)}))] (when-not (and (= "3" (:opt_level profile)) (false? (:debug_assertions profile))) (throw (ex-info "Cargo did not produce an optimized renderer" diff --git a/frontend/performance/benches/render_wasm/node/feature_comparison.cljs b/frontend/performance/benches/render_wasm/node/runner/feature_comparison.cljs similarity index 97% rename from frontend/performance/benches/render_wasm/node/feature_comparison.cljs rename to frontend/performance/benches/render_wasm/node/runner/feature_comparison.cljs index 21dfe2e5ad..201f22d4ef 100644 --- a/frontend/performance/benches/render_wasm/node/feature_comparison.cljs +++ b/frontend/performance/benches/render_wasm/node/runner/feature_comparison.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.feature-comparison +(ns benches.render-wasm.node.runner.feature-comparison "Plan and run benchmarks for combinations of optional Cargo renderer features. `prepare` reads Cargo metadata and collects the selected benchmark cases. @@ -23,17 +23,17 @@ ["path" :as path] [benches.render-wasm.cases :as cases] [benches.render-wasm.errors :as errors :refer [attempt failure?]] - [benches.render-wasm.feature-plan :as feature-plan] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.build :as build] - [benches.render-wasm.node.catalog :as catalog] + [benches.render-wasm.features.plan :as feature-plan] + [benches.render-wasm.node.catalog.loader :as catalog] [benches.render-wasm.node.files :as files] [benches.render-wasm.node.log :as log] - [benches.render-wasm.node.options :as options] [benches.render-wasm.node.outcome :as outcome] [benches.render-wasm.node.process :as process] - [benches.render-wasm.node.run :as run] - [benches.render-wasm.node.runs :as runs] + [benches.render-wasm.node.runner.build :as build] + [benches.render-wasm.node.runner.run :as run] + [benches.render-wasm.node.settings :as settings] + [benches.render-wasm.node.storage.artifacts :as artifacts] + [benches.render-wasm.node.storage.runs :as runs] [benches.render-wasm.node.time :as time] [benches.render-wasm.report.compare :as compare] [benches.render-wasm.result :as result] @@ -690,9 +690,9 @@ prepared: The result of `prepare`. signal: An optional AbortSignal that cancels execution. settings: May contain `:services` overrides with the same contracts as the - defaults: `:prepare-build` uses `node.build/prepare`, `:collect-catalog` - uses `node.catalog/collect`, `:create-run-home` uses `node.runs/create-home`, - and `:execute-run` uses `node.run/execute`. Omitted services use + defaults: `:prepare-build` uses `node.runner.build/prepare`, `:collect-catalog` + uses `node.catalog.loader/collect`, `:create-run-home` uses `node.storage.runs/create-home`, + and `:execute-run` uses `node.runner.run/execute`. Omitted services use `default-services`. Returns: @@ -781,7 +781,7 @@ {:command "cargo" :args ["metadata" "--offline" "--locked" "--no-deps" "--format-version" "1"] :cwd cwd - :deadline (process/deadline (:build-timeout-ms opts options/default-build-timeout-ms)) + :deadline (process/deadline (:build-timeout-ms opts settings/default-build-timeout-ms)) :signal signal}))] (feature-plan/check-manifest (:features plan) (get-root-features cwd (:stdout metadata))) {:plan plan diff --git a/frontend/performance/benches/render_wasm/node/run.cljs b/frontend/performance/benches/render_wasm/node/runner/run.cljs similarity index 98% rename from frontend/performance/benches/render_wasm/node/run.cljs rename to frontend/performance/benches/render_wasm/node/runner/run.cljs index b9985059d2..ecc4af0471 100644 --- a/frontend/performance/benches/render_wasm/node/run.cljs +++ b/frontend/performance/benches/render_wasm/node/runner/run.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.run +(ns benches.render-wasm.node.runner.run "Renderer benchmark runs over fixed builds. Runs are stored in a `home`, and execute via a loopback host and at most one @@ -27,15 +27,15 @@ [benches.render-wasm.declarations :as declarations] [benches.render-wasm.errors :as errors :refer [attempt failure?]] [benches.render-wasm.measurement :as measurement] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.browser :as browser] - [benches.render-wasm.node.build :as build] - [benches.render-wasm.node.catalog :as catalog] + [benches.render-wasm.node.catalog.loader :as catalog] [benches.render-wasm.node.log :as log] [benches.render-wasm.node.outcome :as outcome] [benches.render-wasm.node.process :as process] - [benches.render-wasm.node.runs :as runs] - [benches.render-wasm.node.server :as server] + [benches.render-wasm.node.runner.browser :as browser] + [benches.render-wasm.node.runner.build :as build] + [benches.render-wasm.node.runner.server :as server] + [benches.render-wasm.node.storage.artifacts :as artifacts] + [benches.render-wasm.node.storage.runs :as runs] [benches.render-wasm.node.time :as time] [benches.render-wasm.report.format :as format] [benches.render-wasm.report.summarize :as summary] diff --git a/frontend/performance/benches/render_wasm/node/server.cljs b/frontend/performance/benches/render_wasm/node/runner/server.cljs similarity index 98% rename from frontend/performance/benches/render_wasm/node/server.cljs rename to frontend/performance/benches/render_wasm/node/runner/server.cljs index 3d049330a5..4a40825fba 100644 --- a/frontend/performance/benches/render_wasm/node/server.cljs +++ b/frontend/performance/benches/render_wasm/node/runner/server.cljs @@ -4,14 +4,14 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.server +(ns benches.render-wasm.node.runner.server "An owned loopback HTTP server for one immutable renderer build." (:require ["fs" :as fs] ["http" :as http] ["path" :as path] [benches.render-wasm.node.files :as files] - [benches.render-wasm.node.options :as options] + [benches.render-wasm.node.settings :as settings] [clojure.string :as str])) (def ^:private mime @@ -113,7 +113,7 @@ has a 30000 ms default timeout and accepts an optional AbortSignal. Abort, timeout and listen errors close the owned server before rejecting." ([build] (open build {})) - ([build {:keys [startup-timeout-ms signal] :or {startup-timeout-ms options/default-startup-timeout-ms}}] + ([build {:keys [startup-timeout-ms signal] :or {startup-timeout-ms settings/default-startup-timeout-ms}}] (js/Promise. (fn [resolve reject] (let [root (fs/realpathSync (:dir build)) diff --git a/frontend/performance/benches/render_wasm/node/settings.cljs b/frontend/performance/benches/render_wasm/node/settings.cljs new file mode 100644 index 0000000000..b669cecb25 --- /dev/null +++ b/frontend/performance/benches/render_wasm/node/settings.cljs @@ -0,0 +1,11 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS SUBSIDIARY SL + +(ns benches.render-wasm.node.settings + "Shared operational defaults.") + +(def default-build-timeout-ms 300000) +(def default-startup-timeout-ms 30000) diff --git a/frontend/performance/benches/render_wasm/node/artifacts.cljs b/frontend/performance/benches/render_wasm/node/storage/artifacts.cljs similarity index 99% rename from frontend/performance/benches/render_wasm/node/artifacts.cljs rename to frontend/performance/benches/render_wasm/node/storage/artifacts.cljs index e0fb539bba..0e493674c0 100644 --- a/frontend/performance/benches/render_wasm/node/artifacts.cljs +++ b/frontend/performance/benches/render_wasm/node/storage/artifacts.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.artifacts +(ns benches.render-wasm.node.storage.artifacts "Managed renderer builds and output homes for benchmark runs and comparisons. Here, 'managed' means that the runner owns the build directory and its diff --git a/frontend/performance/benches/render_wasm/node/runs.cljs b/frontend/performance/benches/render_wasm/node/storage/runs.cljs similarity index 95% rename from frontend/performance/benches/render_wasm/node/runs.cljs rename to frontend/performance/benches/render_wasm/node/storage/runs.cljs index f3e515d323..5babe7cbac 100644 --- a/frontend/performance/benches/render_wasm/node/runs.cljs +++ b/frontend/performance/benches/render_wasm/node/storage/runs.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS SUBSIDIARY SL -(ns benches.render-wasm.node.runs +(ns benches.render-wasm.node.storage.runs "Manages saved run destinations, schema:run persistence and diagnostic logs. Runs are saved under /target/performance/render-wasm/runs. @@ -14,8 +14,8 @@ (:require ["fs" :as fs] ["path" :as path] - [benches.render-wasm.node.artifacts :as artifacts] [benches.render-wasm.node.files :as files] + [benches.render-wasm.node.storage.artifacts :as artifacts] [benches.render-wasm.result :as result] [clojure.string :as str])) diff --git a/frontend/performance/benches/render_wasm/result.cljs b/frontend/performance/benches/render_wasm/result.cljs index fbc1756406..49d7e5b512 100644 --- a/frontend/performance/benches/render_wasm/result.cljs +++ b/frontend/performance/benches/render_wasm/result.cljs @@ -10,7 +10,7 @@ [app.common.schema :as sm] [app.common.transit :as transit] [benches.render-wasm.codec :as codec] - [benches.render-wasm.feature-plan :as feature-plan] + [benches.render-wasm.features.plan :as feature-plan] [benches.render-wasm.report.analysis :as analysis])) (def schema:basis diff --git a/frontend/test/performance_tests/render_wasm/artifacts_test.cljs b/frontend/test/performance_tests/render_wasm/artifacts_test.cljs index 64d478f8d7..c5e73ada4e 100644 --- a/frontend/test/performance_tests/render_wasm/artifacts_test.cljs +++ b/frontend/test/performance_tests/render_wasm/artifacts_test.cljs @@ -13,8 +13,8 @@ [app.common.transit :as transit] [benches.render-wasm.codec :as codec] [benches.render-wasm.identity :as identity] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.catalog :as catalog] + [benches.render-wasm.node.catalog.loader :as catalog] + [benches.render-wasm.node.storage.artifacts :as artifacts] [cljs.test :as t :include-macros true])) (def ^:private temporary-root (atom nil)) diff --git a/frontend/test/performance_tests/render_wasm/browser_test.cljs b/frontend/test/performance_tests/render_wasm/browser_test.cljs index 47969d3282..eb04341ed0 100644 --- a/frontend/test/performance_tests/render_wasm/browser_test.cljs +++ b/frontend/test/performance_tests/render_wasm/browser_test.cljs @@ -13,9 +13,9 @@ ["path" :as path] [app.common.transit :as transit] [benches.render-wasm.identity :as identity] - [benches.render-wasm.node.browser :as browser] [benches.render-wasm.node.process :as process] - [benches.render-wasm.node.server :as server] + [benches.render-wasm.node.runner.browser :as browser] + [benches.render-wasm.node.runner.server :as server] [cljs.test :as t :include-macros true])) (def ^:private temporary-root (atom nil)) diff --git a/frontend/test/performance_tests/render_wasm/build_test.cljs b/frontend/test/performance_tests/render_wasm/build_test.cljs index b3d92eea19..0cc435a0ce 100644 --- a/frontend/test/performance_tests/render_wasm/build_test.cljs +++ b/frontend/test/performance_tests/render_wasm/build_test.cljs @@ -16,8 +16,8 @@ ["path" :as path] [app.common.transit :as transit] [benches.render-wasm.errors :as errors] - [benches.render-wasm.node.build :as build] [benches.render-wasm.node.process :as process] + [benches.render-wasm.node.runner.build :as build] [cljs.test :as t :include-macros true] [clojure.string :as str])) diff --git a/frontend/test/performance_tests/render_wasm/cli_integration.cjs b/frontend/test/performance_tests/render_wasm/cli_integration.cjs index b8f858e6b3..df0d9ff4f8 100644 --- a/frontend/test/performance_tests/render_wasm/cli_integration.cjs +++ b/frontend/test/performance_tests/render_wasm/cli_integration.cjs @@ -677,7 +677,7 @@ test( assert.match(result.stderr, /renderer build preparation failed/); assert.match( result.stderr, - /type\s+:benches.render-wasm.node.build\/preparation-failed/, + /type\s+:benches.render-wasm.node.runner.build\/preparation-failed/, ); assert.match(result.stderr, new RegExp(`build\\s+${id}`)); assert.ok(result.stderr.includes(logPath)); diff --git a/frontend/test/performance_tests/render_wasm/cli_test.cljs b/frontend/test/performance_tests/render_wasm/cli_test.cljs index 55de4daa9d..e930163144 100644 --- a/frontend/test/performance_tests/render_wasm/cli_test.cljs +++ b/frontend/test/performance_tests/render_wasm/cli_test.cljs @@ -7,8 +7,8 @@ (ns performance-tests.render-wasm.cli-test (:require [app.common.schema :as sm] - [benches.render-wasm.node.cli :as cli] - [benches.render-wasm.node.request :as request] + [benches.render-wasm.node.cli.request :as request] + [benches.render-wasm.node.cli.resolve :as cli] [cljs.test :as t :include-macros true] [clojure.string :as str])) diff --git a/frontend/test/performance_tests/render_wasm/compare_test.cljs b/frontend/test/performance_tests/render_wasm/compare_test.cljs index 23e8b64455..f67148a2f1 100644 --- a/frontend/test/performance_tests/render_wasm/compare_test.cljs +++ b/frontend/test/performance_tests/render_wasm/compare_test.cljs @@ -11,9 +11,9 @@ ["os" :as os] ["path" :as path] [app.common.transit :as transit] - [benches.render-wasm.node.compare :as compare] - [benches.render-wasm.node.execution :as execution] + [benches.render-wasm.node.cli.execution :as execution] [benches.render-wasm.node.log :as log] + [benches.render-wasm.node.report.compare :as compare] [benches.render-wasm.report.compare :as report-compare] [benches.render-wasm.result :as result] [cljs.test :as t :include-macros true] diff --git a/frontend/test/performance_tests/render_wasm/execution_test.cljs b/frontend/test/performance_tests/render_wasm/execution_test.cljs index f5ec6976c7..b0bd7c0bcb 100644 --- a/frontend/test/performance_tests/render_wasm/execution_test.cljs +++ b/frontend/test/performance_tests/render_wasm/execution_test.cljs @@ -14,10 +14,10 @@ ["path" :as path] [app.common.transit :as transit] [benches.render-wasm.errors :as errors] - [benches.render-wasm.node.cli :as cli] - [benches.render-wasm.node.execution :as execution] + [benches.render-wasm.node.cli.execution :as execution] + [benches.render-wasm.node.cli.request :as request] + [benches.render-wasm.node.cli.resolve :as cli] [benches.render-wasm.node.log :as log] - [benches.render-wasm.node.request :as request] [cljs.test :as t :include-macros true] [clojure.string :as str])) diff --git a/frontend/test/performance_tests/render_wasm/feature_comparison_test.cljs b/frontend/test/performance_tests/render_wasm/feature_comparison_test.cljs index 1338d58360..806642110a 100644 --- a/frontend/test/performance_tests/render_wasm/feature_comparison_test.cljs +++ b/frontend/test/performance_tests/render_wasm/feature_comparison_test.cljs @@ -6,25 +6,25 @@ (ns performance-tests.render-wasm.feature-comparison-test (:require - ["fs" :as fs] - ["node:timers/promises" :as timers] - ["os" :as os] - ["path" :as path] - [benches.render-wasm.cases :as cases] - [benches.render-wasm.declarations :as decl] - [benches.render-wasm.errors :as errors] - [benches.render-wasm.feature-plan :as feature-plan] - [benches.render-wasm.node.build :as build] - [benches.render-wasm.node.execution :as execution] - [benches.render-wasm.node.feature-comparison :as feature-comparison] - [benches.render-wasm.node.files :as files] - [benches.render-wasm.node.log :as log] - [benches.render-wasm.node.process :as process] - [benches.render-wasm.node.request :as request] - [benches.render-wasm.result :as result] - [cljs.test :as t :include-macros true] - [clojure.string :as str] - [frontend-tests.helpers.mock :as mock])) + ["fs" :as fs] + ["node:timers/promises" :as timers] + ["os" :as os] + ["path" :as path] + [benches.render-wasm.cases :as cases] + [benches.render-wasm.declarations :as decl] + [benches.render-wasm.errors :as errors] + [benches.render-wasm.features.plan :as feature-plan] + [benches.render-wasm.node.cli.execution :as execution] + [benches.render-wasm.node.cli.request :as request] + [benches.render-wasm.node.files :as files] + [benches.render-wasm.node.log :as log] + [benches.render-wasm.node.process :as process] + [benches.render-wasm.node.runner.build :as build] + [benches.render-wasm.node.runner.feature-comparison :as feature-comparison] + [benches.render-wasm.result :as result] + [cljs.test :as t :include-macros true] + [clojure.string :as str] + [frontend-tests.helpers.mock :as mock])) (def ^:private temporary-root (atom nil)) diff --git a/frontend/test/performance_tests/render_wasm/request_test.cljs b/frontend/test/performance_tests/render_wasm/request_test.cljs index f76dfba914..0229b9503e 100644 --- a/frontend/test/performance_tests/render_wasm/request_test.cljs +++ b/frontend/test/performance_tests/render_wasm/request_test.cljs @@ -7,7 +7,7 @@ (ns performance-tests.render-wasm.request-test (:require [app.common.schema :as sm] - [benches.render-wasm.node.request :as request] + [benches.render-wasm.node.cli.request :as request] [cljs.test :as t :include-macros true] [performance-tests.render-wasm.test-helpers :refer [failure-data]])) diff --git a/frontend/test/performance_tests/render_wasm/run_test.cljs b/frontend/test/performance_tests/render_wasm/run_test.cljs index ceebc197d0..6d11986432 100644 --- a/frontend/test/performance_tests/render_wasm/run_test.cljs +++ b/frontend/test/performance_tests/render_wasm/run_test.cljs @@ -11,13 +11,13 @@ ["path" :as path] [app.common.transit :as transit] [benches.render-wasm.errors :as errors] - [benches.render-wasm.feature-plan :as feature-plan] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.feature-comparison :as feature-comparison] + [benches.render-wasm.features.plan :as feature-plan] + [benches.render-wasm.node.cli.request :as request] [benches.render-wasm.node.log :as log] - [benches.render-wasm.node.request :as request] - [benches.render-wasm.node.run :as run] - [benches.render-wasm.node.runs :as runs] + [benches.render-wasm.node.runner.feature-comparison :as feature-comparison] + [benches.render-wasm.node.runner.run :as run] + [benches.render-wasm.node.storage.artifacts :as artifacts] + [benches.render-wasm.node.storage.runs :as runs] [benches.render-wasm.result :as result] [cljs.test :as t :include-macros true] [clojure.string :as str])) diff --git a/frontend/test/performance_tests/render_wasm/runs_test.cljs b/frontend/test/performance_tests/render_wasm/runs_test.cljs index 96248b7cd7..2199715ebf 100644 --- a/frontend/test/performance_tests/render_wasm/runs_test.cljs +++ b/frontend/test/performance_tests/render_wasm/runs_test.cljs @@ -9,8 +9,8 @@ ["fs" :as fs] ["os" :as os] ["path" :as path] - [benches.render-wasm.node.artifacts :as artifacts] - [benches.render-wasm.node.runs :as runs] + [benches.render-wasm.node.storage.artifacts :as artifacts] + [benches.render-wasm.node.storage.runs :as runs] [benches.render-wasm.result :as result] [cljs.test :as t :include-macros true] [clojure.string :as str])) diff --git a/frontend/test/performance_tests/render_wasm/server_test.cljs b/frontend/test/performance_tests/render_wasm/server_test.cljs index bc9f87a7c2..c7ade77e0b 100644 --- a/frontend/test/performance_tests/render_wasm/server_test.cljs +++ b/frontend/test/performance_tests/render_wasm/server_test.cljs @@ -11,7 +11,7 @@ ["net" :as net] ["os" :as os] ["path" :as path] - [benches.render-wasm.node.server :as server] + [benches.render-wasm.node.runner.server :as server] [cljs.test :as t :include-macros true])) (def ^:private temporary-root (atom nil))