You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: SKILL/SKILL.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,7 +73,8 @@ v8-runner init
73
73
- Only one source-set changed: use commands that accept `--source-set <NAME>` instead of rebuilding or materializing everything.
74
74
- Branch switch, rebase, large object moves, stale source-backed tool extension state, or suspicious incremental state: run `v8-runner build --full-rebuild`.
75
75
- Syntax check: inspect `format` and `builder`, then choose `syntax designer-modules`, `syntax designer-config`, or `syntax edt`.
76
-
- Behavior validation: run the relevant `v8-runner test ...` command; tests build first.
76
+
- Behavior validation: run the relevant `v8-runner test ...` command; tests build first unless the
77
+
caller explicitly requests `--no-build` for an already prepared infobase.
77
78
- Missing local YAxUnit, Vanessa Automation, or onec-client-mcp-devkit setup: run
78
79
`v8-runner tools download yaxunit --sources`, `v8-runner tools download vanessa`, and
79
80
`v8-runner tools download client-mcp --sources` for source-backed setup. Omit
Copy file name to clipboardExpand all lines: SKILL/references/testing.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Testing
2
2
3
-
Use tests when behavior matters. Test commands build first, so do not run a separate `build` unless the user specifically asked for a build-only diagnosis.
3
+
Use tests when behavior matters. Test commands build first, so do not run a separate `build` unless the user specifically asked for a build-only diagnosis. For an immutable prepared infobase clone, use `test --no-build`; never infer this mode merely because a previous build appears successful.
4
4
5
5
## YaXUnit
6
6
@@ -9,6 +9,7 @@ All tests:
9
9
```bash
10
10
v8-runner test yaxunit all
11
11
v8-runner test yaxunit --full all
12
+
v8-runner test --no-build yaxunit all
12
13
```
13
14
14
15
Target one module:
@@ -26,12 +27,16 @@ Run the configured Vanessa Automation profile:
26
27
27
28
```bash
28
29
v8-runner test va
30
+
v8-runner test --no-build va
29
31
```
30
32
31
33
If the user points to a specific feature or profile, inspect `tests.va` in `v8project.yaml` before changing the command.
32
34
33
35
`test va` uses the configured `tests.va.profile`; do not invent ad hoc feature paths without updating config or using the repo's established wrapper.
34
36
37
+
`--no-build` requires an existing `1Cv8.1CD` for file infobases. Server infobases are validated by the test-engine connection because a local filesystem preflight is not possible.
38
+
This mode does not require project source-set directories or build tooling to be present; runner and platform inputs are still validated.
39
+
35
40
When driving tests through the MCP `run_all_tests` tool, pass `runner: "vanessa"` plus optional `profile`, `feature`, `filterTag`, `ignoreTag`, or `scenarioFilter`; do not use the default YaXUnit runner for functional `.feature` acceptance scenarios.
|`test`| Та же матрица, что и у `build`| Всегда сначала запускает `build`|
33
+
|`test`| Та же матрица, что и у `build`| По умолчанию запускает `build`|
34
+
|`test --no-build`| Подготовленная file/server ИБ; source-set и build tooling не требуются | Запускает выбранный test engine без build |
34
35
|`dump`|`format=DESIGNER` + `builder=DESIGNER`| Полная, инкрементальная или object-scoped partial выгрузка |
35
36
|`dump`|`format=DESIGNER` + `builder=IBCMD`| Полная и инкрементальная выгрузка; `partial` деградирует в incremental с warning; standalone-server state изолирован в `workPath/ibcmd-data`|
36
37
|`dump`|`format=EDT` + `builder=DESIGNER|IBCMD` | Reverse sync из ИБ через internal Designer snapshot и EDT import |
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
+
5
+
**Goal:** Add an opt-in CLI test mode that runs against an already prepared infobase without building it.
6
+
7
+
**Architecture:** Map the CLI flag into a typed transport-neutral build policy. Branch in the test coordinator before artifact creation: validate a file infobase and emit a skipped build step, or execute the existing build-first path.
8
+
9
+
**Tech Stack:** Rust, clap, serde, existing execution-step and test-result models.
10
+
11
+
## Global Constraints
12
+
13
+
- Default test behavior remains build-first.
14
+
- MCP remains build-first.
15
+
- Skip mode must not invoke build/load/update operations.
16
+
- File infobases require an existing `1Cv8.1CD` marker.
17
+
- Use Result-based errors and exhaustive enum matches.
18
+
19
+
---
20
+
21
+
### Task 1: CLI and typed request policy
22
+
23
+
**Files:**
24
+
- Modify: `src/cli/args.rs`
25
+
- Modify: `src/cli/execute.rs`
26
+
- Modify: `src/use_cases/request.rs`
27
+
- Test: `tests/cli_help.rs`
28
+
29
+
**Interfaces:**
30
+
- Produces: `TestBuildPolicy::{BuildFirst, Skip}` and `TestRequest.build_policy`.
31
+
32
+
-[ ] Add a failing help test for `test --no-build`.
33
+
-[ ] Run the focused help test and confirm it fails because the flag is absent.
34
+
-[ ] Add `--no-build`, the enum, and mapping with build-first defaults for non-CLI callers.
35
+
-[ ] Run the focused help test and request-mapping tests.
36
+
37
+
### Task 2: Skip behavior and file-infobase preflight
Allow CLI users to run YaXUnit or Vanessa Automation against a prepared infobase without invoking the build pipeline.
6
+
7
+
## Contract
8
+
9
+
`v8-runner test --no-build yaxunit all` and `v8-runner test --no-build va` select a typed `TestBuildPolicy::Skip`. The default remains `TestBuildPolicy::BuildFirst`. MCP requests keep the default and do not expose the new CLI-only option.
10
+
11
+
The result keeps a `build` execution step. In skip mode that step has status `skipped` and a stable message stating that the caller explicitly skipped the prerequisite.
12
+
13
+
## Infobase preflight
14
+
15
+
For file connections, skip mode requires the configured infobase directory to contain `1Cv8.1CD`. Failure is returned before test artifacts or a platform process are created, using typed test error code `infobase_unavailable`.
16
+
17
+
Prepared-test config loading deliberately skips source-set and build-tool filesystem validation, while retaining base/work path, connection, platform, timeout, and test configuration validation. This lets immutable CI clones run after their configuration sources have been removed.
18
+
19
+
Accepted portability waiver: the current public server connection contract does not carry cluster-administration credentials or a portable non-1C management adapter, so existence of a named server infobase cannot be proven before starting 1C without introducing a false-positive TCP check or a new external dependency. Server availability therefore remains established by the test-engine connection and its typed process errors; file infobases receive the strict preflight required by this change.
20
+
21
+
Server connections cannot be proven available without contacting the server through a platform process. Skip mode therefore validates their configuration using the existing loader and lets the selected test engine establish connectivity; it does not introduce a hidden probe command.
22
+
23
+
## Components
24
+
25
+
- CLI maps `--no-build` to the typed build policy.
26
+
- The transport-neutral request owns the policy.
27
+
- The test coordinator performs file-infobase preflight or the existing build prerequisite.
28
+
- Existing step serialization reports the explicit skip.
29
+
- CLI integration tests cover YaXUnit, Vanessa, and a missing file infobase.
30
+
- README, capabilities, and repo-local skill guidance describe the workflow.
31
+
32
+
## Error handling and compatibility
33
+
34
+
Default behavior is unchanged. Skip mode never invokes build, load, or update-database operations. Missing file state returns the existing runtime CLI error class plus the new typed test error. Credentials and launch options continue through existing code paths.
35
+
36
+
## Testing
37
+
38
+
Tests first demonstrate that the option is absent. After implementation they assert no build script invocation, a skipped build step in JSON, successful YaXUnit and Vanessa execution, and failure before platform launch when `1Cv8.1CD` is missing.
0 commit comments