Open tad4 opened 1 year ago
On 2023 March 28th Valve Software announced that Steam's Windows 7 and Windows 8 Support will be ending:
"As of January 1 2024, Steam will officially stop supporting the Windows 7, Windows 8 and Windows 8.1 operating systems. After that date, the Steam Client will no longer run on those versions of Windows."
My analysis of PowerShell as a dependency for running the CS:GO test profile will become moot after Steam stops supporting Windows 7 and 8.x since Valve's statement indicates that any games that require Steam will not be playable on Windows 7 and 8.x.
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 later[^2].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.[^1]: 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". [^2]: 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.