You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the PR #25 Windows CI support is in progress.
I describe here some changes needed for windows support.
CLI options
Windows has expanded console support in recent years, with multiple implementations coexisting.
To make these choices, I decided to use the CLI option.
As an example, the following is a way to specify that conhost is used, the window under test is displayed, and the failed test is not closed but left in place. rake TESTOPTS="--windows=conhost --show-console --close-console=pass"
Additional options are follows.
yamatanooroti options
--wait=0.01 Specify yamatanooroti wait time in seconds.
--timeout=2.0 Specify yamatanooroti timeout in seconds.
windows specific yamatanooroti options
--windows=TYPE Specify console type
(ca[nary], co[nhost], l[egacy-conhost], p[review], s[table])
(1.17, 1.18, 1.19, 1.20, 1.21, 1.21preview, 1.22preview)
--wt-dir=DIR Specify Windows Terminal working dir.
Automatically determined if not specified and treated temporary.
DIR is treaded permanent if specified and download files are remains.
--[no-]show-console Show test ongoing console.
--[no-]close-console[=COND] Close test target console when COND met
(a[lways], n[ever], p[ass])
Yamatanooroti API changes
The behavior of Windows conhost (aka. Command Prompt Window) changes depending on the code page settings.
Needed to support code page changes to correctly display DBCS in a CI environment.
To change the codepage before launch of the target process, the codepage must be specified in start_terminal().
Currently, it is treated as windows specific and the new settings are used only in a windows environment.
‘‘‘
def setup
if Yamatanooroti.win?
start_terminal(5, 30, ['ruby', 'bin/simple_repl'], startup_message: 'prompt>', codepage: 932)
else
start_terminal(5, 30, ['ruby', 'bin/simple_repl'], startup_message: 'prompt>')
end
end
‘‘‘
Since Yamatanooroti.win is included in the existing yamatanooroti, the changes will not affect non-Windows environments.
However, since the test code appears to be redundant, it is also a consideration to modify the vterm side to accept it as **kwargs and ignore it.
Another changes
A test-unit specific api is used to reduce signal handler invalidation by the WIN32API used and to determine window close by test results. For example, Test::Unit.at_exittestdown do; end
Since yamatanooroti is not executed in the ruby test, I have determined that this does not affect it, but I have not confirmed this.
The text was updated successfully, but these errors were encountered:
YO4
linked a pull request
Nov 4, 2024
that will
close
this issue
In the PR #25 Windows CI support is in progress.
I describe here some changes needed for windows support.
CLI options
Windows has expanded console support in recent years, with multiple implementations coexisting.
To make these choices, I decided to use the CLI option.
As an example, the following is a way to specify that conhost is used, the window under test is displayed, and the failed test is not closed but left in place.
rake TESTOPTS="--windows=conhost --show-console --close-console=pass"
Additional options are follows.
Yamatanooroti API changes
The behavior of Windows conhost (aka. Command Prompt Window) changes depending on the code page settings.
Needed to support code page changes to correctly display DBCS in a CI environment.
To change the codepage before launch of the target process, the codepage must be specified in start_terminal().
Currently, it is treated as windows specific and the new settings are used only in a windows environment.
‘‘‘
def setup
if Yamatanooroti.win?
start_terminal(5, 30, ['ruby', 'bin/simple_repl'], startup_message: 'prompt>', codepage: 932)
else
start_terminal(5, 30, ['ruby', 'bin/simple_repl'], startup_message: 'prompt>')
end
end
‘‘‘
Since Yamatanooroti.win is included in the existing yamatanooroti, the changes will not affect non-Windows environments.
However, since the test code appears to be redundant, it is also a consideration to modify the vterm side to accept it as **kwargs and ignore it.
Another changes
A test-unit specific api is used to reduce signal handler invalidation by the WIN32API used and to determine window close by test results. For example,
Test::Unit.at_exit
testdown do; end
Since yamatanooroti is not executed in the ruby test, I have determined that this does not affect it, but I have not confirmed this.
The text was updated successfully, but these errors were encountered: