Skip to content

Conversation

mwichmann
Copy link
Collaborator

@mwichmann mwichmann commented Aug 26, 2025

On Windows, where batch mode exists, the changed_{sources,targets} lists become important. In interactive mode, these were not cleared properly, leading to incorrect results. Moved them into the memo dict, which is already dropped when necessary, to match the other source and target entries.

Testcase constructed from the issue. Required some funny gyrations - testing interactive mode is tricky because of timing, we "send" some simulated typing, and that returns right away, not when SCons has completed the command.

Fixes #3029

Contributor Checklist:

  • I have created a new test or updated the unit tests to cover the new/changed functionality.
  • I have updated CHANGES.txt and RELEASE.txt (and read the README.rst).
  • I have updated the appropriate documentation

@mwichmann mwichmann force-pushed the fix/interactive-targets branch from 5504a63 to 45926fe Compare August 27, 2025 19:00
On Windows, where batch mode exists, the changed_{sources,targets} lists
become important. In interactive mode, these were not cleared properly,
leading to incorrect results. Moved them into the memo dict, which is
dropped when necessary, to match the other source and target entries.

The testcase is taken from the issue, but needed to apply some of the
tricks for interactive-mode e2e tests, where testing is not entirely
straightforward.

Fixes SCons#3029

Signed-off-by: Mats Wichmann <[email protected]>
@mwichmann mwichmann force-pushed the fix/interactive-targets branch from 45926fe to be119e4 Compare August 27, 2025 20:06
@mwichmann mwichmann changed the title WIP: Interactive mode batch + src/tgt clearing Interactive mode batch + src/tgt clearing Sep 1, 2025
@mwichmann mwichmann added this to 4.10 Sep 1, 2025
@mwichmann mwichmann moved this to In review in 4.10 Sep 1, 2025
@mwichmann mwichmann added this to the 4.10.0 milestone Sep 1, 2025
mwichmann and others added 2 commits September 6, 2025 04:56
…ate all file headers to current copyright form (#13)

* add explanation of tricky logic to stabilize interactive testing. Update all file headers to current copyright form

* narrow down no trim whitespace to just interactive tests
@bdbaddog bdbaddog merged commit 5a2ef9d into SCons:master Sep 7, 2025
9 of 11 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in 4.10 Sep 7, 2025
@mwichmann mwichmann deleted the fix/interactive-targets branch September 8, 2025 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Interactive mode fails on Windows
2 participants