Fix for csgo (1.7.2) runtime error on Windows clients #264
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Dear @michaellarabel and OpenBenchmarking test profile maintainers:
Summary
I ran into a runtime error when trying to run the CS:GO test profile under Windows. I've developed a solution that will invoke CS:GO via the Steam CLI for running the
csgo
test profile on Windows systems. Please review and merge.I appreciate any time & effort given to this pull request. Should you have any questions, please add comments to this pull request.
Sincerely,
Tad
Problem & Proposed Solution
The problem that prevents test runs under Windows
When PTS runs CS:GO, a runtime error occurs (see attached screenshot).
The problem appears to be caused by the
csgo
test profile invokingcsgo.exe
directly on Windows clients.Proposed solution
Instead of the Windows test profile invoking
csgo.exe
, CS:GO is invoked via the Steam CLI.Solution implementation details
This pull request contains the following changes to the
csgo
test profile for Windows clients:a4f099e
: Find Steam configuration data in the Windows Registry.9df5db1
: Update existing test logic to use Steam configuration data and the Steam CLI.7d57b25
: Invoke CS:GO via the Steam CLI, and add logic for the test profile to wait forcsgo.exe
to quit.New dependencies introduced by the proposed solution
Windows PowerShell becomes a new dependency to run the
csgo
test profile on Windows clients. Specifically, the cmdletWait-Process
is used to control test profile execution on Windows clients, since invoking CS:GO via Steam CLI will return immediately.Impact on OpenBenchmarking users' ability to quickly and easily run
csgo
on Windows systems due to the use of PowerShell cmdlets is anticipated to be minuscule. Microsoft has integrated PowerShell into Windows starting with the release of Windows 7 Service Pack 1 (kernel 6.1.7601)1 and Microsoft introducedWait-Process
as a cmdlet in PowerShell v2.0. All of the Windows test results containingcsgo
runs---that are hosted on OpenBenchmarking.org---as of the date of this pull request used Windows 10 or later2.This additional dependency is not expected to require PTS to manually check for and install PowerShell on Windows systems because it is not anticipated that there is interest in using PTS to run the
csgo
test profile on systems running Windows 7 (kernel 6.1.7600) or earlier.Footnotes
Microsoft states, "Windows PowerShell comes installed by default in every Windows, starting with Windows 7 SP1 and Windows Server 2008 R2 SP1," and PowerShell's Release History indicates that version 2.0 was, "Integrated in Windows 7 and Windows Server 2008 R2". ↩
No results are returned using OpenBenchmarking.org's integrated search for the queries: 'csgo "Windows 7"' and 'csgo "Windows 8"'---in the absence of any search results it's presumed that the
csgo
test profile has never been run on a version of Windows prior to Windows 10. ↩