Skip to content

Ship v11- and v12-aware }rushti.load.results TI (closes #154)#155

Merged
nicolasbisurgi merged 2 commits into
masterfrom
feat/issue-154-v12-load-results
May 20, 2026
Merged

Ship v11- and v12-aware }rushti.load.results TI (closes #154)#155
nicolasbisurgi merged 2 commits into
masterfrom
feat/issue-154-v12-load-results

Conversation

@nicolasbisurgi

Copy link
Copy Markdown
Collaborator

Summary

  • rushti build now installs a TM1-version-aware }rushti.load.results TI body. On v12 the body drops CubeGetLogChanges / CubeSetLogChanges / ExecuteCommand (all removed or unsupported on v12) and uses ASCIIDelete(pSourceFile) for source-file cleanup. v11 body is unchanged.
  • _create_process branches on integerize_version(tm1.version, 2) >= 12 — reuses the existing pattern, no new helper, no extra TM1 round-trip (version is already cached on TM1Service).
  • Same branching applied to tests/integration/tm1_setup.py so integration setup against v12 installs the correct body.

Closes #154.

Test plan

  • pytest tests/unit/test_tm1_build.py — 27/27 pass, includes new TestProcessBodyVersionSelection asserting v11 keeps legacy calls and v12 has zero CubeGetLogChanges / CubeSetLogChanges / ExecuteCommand and uses ASCIIDelete.
  • pytest tests/integration/test_v11_v12_build.py -m requires_tm1 — 10/10 pass against tm1srv01 (v11) and tm1srv02 (v12).
  • pytest tests/integration/test_v11_v12_results.py -m requires_tm1 — 6/6 pass, including:
    • TestResultPushV12::test_auto_load_results — full }rushti.load.results execution on v12 with no TI error (smoking-gun proof the v12 body compiles and runs).
    • TestResultPushV11::test_auto_load_results (new) — symmetric coverage on v11 added in this PR.

🤖 Generated with Claude Code

nicolasbisurgi and others added 2 commits May 20, 2026 09:39
The single hard-coded process body shipped by `rushti build` failed on TM1
v12 because it referenced removed/unsupported functions
(CubeGetLogChanges / CubeSetLogChanges in the prolog, ExecuteCommand in the
epilog). `_create_process` now branches on `integerize_version(tm1.version, 2)`
and installs PROCESS_PROLOG_V12 / PROCESS_EPILOG_V12 against v12 targets; the
v11 body is unchanged. Source-file cleanup on v12 uses the TM1-native
`ASCIIDelete(pSourceFile)` instead of `ExecuteCommand('cmd /c del …')`.

The same version branching is applied to the test fixture in
`tests/integration/tm1_setup.py` so integration runs against v12 install the
correct body. New unit tests assert the v12 body has zero occurrences of the
forbidden symbols and uses `ASCIIDelete`. A v11 parallel of
`TestResultPushV12::test_auto_load_results` exercises the legacy body end to
end on tm1srv01.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nicolasbisurgi nicolasbisurgi self-assigned this May 20, 2026
@nicolasbisurgi nicolasbisurgi added the release:patch Triggers patch version bump (e.g.: 1.4.9 → 1.4.10) label May 20, 2026
@nicolasbisurgi nicolasbisurgi merged commit 76d87c5 into master May 20, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:patch Triggers patch version bump (e.g.: 1.4.9 → 1.4.10)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build: ship v11- and v12-aware variants of }rushti.load.results TI

1 participant