Skip to content

build: seed runInteractiveTest with real log fixtures automatically - #61

Open
soloturn wants to merge 1 commit into
masterfrom
soloturn-interactive-test-fixtures
Open

build: seed runInteractiveTest with real log fixtures automatically#61
soloturn wants to merge 1 commit into
masterfrom
soloturn-interactive-test-fixtures

Conversation

@soloturn

Copy link
Copy Markdown
Contributor

AI-assisted change proposal. Filed by agent driven by @soloturn via GDD.

Summary

InteractiveTestCases.main only ever reports against Paths.get(".") - the JavaExec task's own working directory - regardless of the log-file-name argument it's passed; that argument is logged, never read again. So the only way to control which log files the reporter dialog actually finds was manually dropping files into cr-core/ before running - easy to forget, and easy to leave stray .log files behind in a tracked source directory (confirmed while testing this: the task's own logback.xml already writes its details.log output there too, unrelated to any manual seeding).

Points workingDir at build/interactiveTestLogs instead (gitignored, cleaned by clean) and seeds it fresh on every run with three files:

  • Terasology-init.log and Terasology-menu.log with real content matching what TerasologyEngine actually logs (the version block, active modules) - so the GitHub-issue pre-fill (Reporter dialog: log tab order, PasteBin only uploads one log, dead/blank report links #53 item 3) has something real to extract.
  • A synthetic Terasology-game.log to exercise more than two tabs, since the engine's own LoggingContext only ever defines those first two phases today.

Test plan

  • ./gradlew :cr-core:runInteractiveTest - confirmed the three files land in build/interactiveTestLogs/ with the intended content on every run.
  • ./gradlew build - clean.

Related

InteractiveTestCases.main only ever reports against Paths.get(".") -
the JavaExec task's own working directory - regardless of the
log-file-name argument it's passed; that argument is logged, never
read again. So the only way to control which log files the reporter
dialog actually finds was manually dropping files into cr-core/ before
running - easy to forget, and easy to leave stray .log files behind in
a tracked source directory (confirmed: the task's own logback.xml
already writes its "details.log" output there too, unrelated to any
manual seeding).

Points workingDir at build/interactiveTestLogs instead (gitignored,
cleaned by `clean`) and seeds it fresh on every run with three files:
Terasology-init.log and Terasology-menu.log with real content matching
what TerasologyEngine actually logs (version block, active modules) -
so the GitHub-issue pre-fill (#53 item 3) has something real to
extract - plus a synthetic Terasology-game.log to exercise more than
two tabs, since the engine's own LoggingContext only ever defines
those first two phases.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 773ea100-d636-4b4c-9d65-eb1e22760d06


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant