Skip to content

systemtests: tune for execution on Windows#2501

Merged
BareosBot merged 4 commits intobareos:masterfrom
arogge:fix-win-tests
Jan 13, 2026
Merged

systemtests: tune for execution on Windows#2501
BareosBot merged 4 commits intobareos:masterfrom
arogge:fix-win-tests

Conversation

@arogge
Copy link
Member

@arogge arogge commented Jan 12, 2026

The systemtests have some performance issues on Windows machines. Some of these can be worked around pretty easily, so this PR tries to improve things.
Mainly running anything not built into the shell will take a lot longer on Windows than it does on Unix. Thus optimizing shell code that runs very often during testing seems to improve things a lot.

Please check

  • Short description and the purpose of this PR is present above this paragraph
  • Your name is present in the AUTHORS file (optional)

If you have any questions or problems, please give a comment in the PR.

Helpful documentation and best practices

Checklist for the reviewer of the PR (will be processed by the Bareos team)

Make sure you check/merge the PR using devtools/pr-tool to have some simple automated checks run and a proper changelog record added.

General
  • Is the PR title usable as CHANGELOG entry?
  • Purpose of the PR is understood
  • Commit descriptions are understandable and well formatted
  • Required backport PRs have been created
  • Correct milestone is set
Source code quality
  • Source code changes are understandable
  • Variable and function names are meaningful
  • Code comments are correct (logically and spelling)
  • Required documentation changes are present and part of the PR

@arogge arogge self-assigned this Jan 12, 2026
@pstorz pstorz self-requested a review January 12, 2026 17:19
Copy link
Member

@pstorz pstorz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks goode. Approved. The only question I have is why we do not need the debian postgres detection anymore.

PATH="@CYGWIN_RUNTIME_OUTPUT_DIRECTORY@:$PATH"
fi

# Real postgres binaries are hidden on debian, instead there are wrappers
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice that it is not needed anymore, but why?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 173 sets POSTGRES_BIN_PATH and POSTGRES_BINARY_DIR is never used.
I guess this was already refactored but this part was overlooked.

For the Windows variant, we can just assume that PostgreSQL's bin-directory is already in the path.

@pstorz pstorz changed the title Tune systemtests for execution on Windows systemtests: tune for execution on Windows Jan 12, 2026
@pstorz pstorz added this to the 25.0.2 milestone Jan 12, 2026
this is no more needed as multi-configuration builds are not supported
anymore.
This hurt performance on windows where (for some reason) calling
`dirname` takes a pretty long time.
this removes calls to things not built into the shell from environment
to save time:
* determining the PostgreSQL path is not needed anymore
* `cygpath` will now be called in CMake instead of running it again
  and again.
only set the variables we need to determine with dirname when they are
actually used (i.e. in the start case).
@BareosBot BareosBot merged commit 803b533 into bareos:master Jan 13, 2026
1 check was pending
@arogge arogge removed this from the 25.0.2 milestone Jan 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants