kernel32/tests: Skip some console tests on w1064v1909.
We get conhost.exe:tty failures on testbot: - not for version prior to w1064v1909 (these tests require pseudo-consoles, which are not implemented in these Windows version). - for w1064v1909 - not for W10 versions after w1064v1909. So, we assume that pseudo-console support is immature in this Windows version: skip all the remaining test at the first discrepancy point. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53465 Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
This commit is contained in:
parent
f3e381d1c9
commit
af215210f0
1 changed files with 26 additions and 8 deletions
|
@ -628,12 +628,22 @@ static void _test_cursor_pos(unsigned line, int expect_x, int expect_y)
|
||||||
info.dwCursorPosition.Y, expect_y);
|
info.dwCursorPosition.Y, expect_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_write_console(void)
|
static BOOL test_write_console(void)
|
||||||
{
|
{
|
||||||
child_set_output_mode(ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING);
|
child_set_output_mode(ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING);
|
||||||
|
|
||||||
child_string_request(REQ_WRITE_CONSOLE, L"abc");
|
child_string_request(REQ_WRITE_CONSOLE, L"abc");
|
||||||
skip_hide_cursor();
|
skip_hide_cursor();
|
||||||
|
if (skip_sequence("\x1b[H \x1b[32m0\x1b[41m1\x1b[30m2"))
|
||||||
|
{
|
||||||
|
/* we get this on w1064v1909 (and more discrepancies afterwards).
|
||||||
|
* This is inconsistent with ulterior w10 versions. Assume it's
|
||||||
|
* immature result, and skip rest of tests.
|
||||||
|
*/
|
||||||
|
console_output_count = 0;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
expect_output_sequence("abc");
|
expect_output_sequence("abc");
|
||||||
skip_sequence("\x1b[?25h"); /* show cursor */
|
skip_sequence("\x1b[?25h"); /* show cursor */
|
||||||
|
|
||||||
|
@ -961,9 +971,11 @@ static void test_write_console(void)
|
||||||
skip_sequence("\x1b[?25h"); /* show cursor */
|
skip_sequence("\x1b[?25h"); /* show cursor */
|
||||||
expect_empty_output();
|
expect_empty_output();
|
||||||
test_cursor_pos(1, 23);
|
test_cursor_pos(1, 23);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_tty_output(void)
|
static BOOL test_tty_output(void)
|
||||||
{
|
{
|
||||||
CHAR_INFO char_info_buf[2048], char_info;
|
CHAR_INFO char_info_buf[2048], char_info;
|
||||||
HANDLE sb, sb2;
|
HANDLE sb, sb2;
|
||||||
|
@ -1197,7 +1209,7 @@ static void test_tty_output(void)
|
||||||
expect_output_sequence("\x1b[?25h"); /* show cursor */
|
expect_output_sequence("\x1b[?25h"); /* show cursor */
|
||||||
expect_empty_output();
|
expect_empty_output();
|
||||||
|
|
||||||
test_write_console();
|
if (!test_write_console()) return FALSE;
|
||||||
|
|
||||||
sb = child_create_screen_buffer();
|
sb = child_create_screen_buffer();
|
||||||
child_set_active(sb);
|
child_set_active(sb);
|
||||||
|
@ -1244,6 +1256,8 @@ static void test_tty_output(void)
|
||||||
expect_output_sequence("\x1b[H"); /* set cursor */
|
expect_output_sequence("\x1b[H"); /* set cursor */
|
||||||
expect_output_sequence("\x1b[?25h"); /* show cursor */
|
expect_output_sequence("\x1b[?25h"); /* show cursor */
|
||||||
expect_empty_output();
|
expect_empty_output();
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_console_pipe(const char *buf)
|
static void write_console_pipe(const char *buf)
|
||||||
|
@ -1836,12 +1850,16 @@ static void test_pseudoconsole(void)
|
||||||
|
|
||||||
if (!broken_version)
|
if (!broken_version)
|
||||||
{
|
{
|
||||||
test_tty_output();
|
if (test_tty_output())
|
||||||
test_read_console_control();
|
{
|
||||||
test_read_console();
|
test_read_console_control();
|
||||||
test_tty_input();
|
test_read_console();
|
||||||
|
test_tty_input();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
win_skip("Partially supported windows version. Skipping rest of the tests\n");
|
||||||
}
|
}
|
||||||
else win_skip("Skipping tty output tests on broken Windows version\n");
|
else win_skip("Skipping tty tests on broken Windows version\n");
|
||||||
|
|
||||||
CloseHandle(child_pipe);
|
CloseHandle(child_pipe);
|
||||||
wait_child_process(child_process);
|
wait_child_process(child_process);
|
||||||
|
|
Loading…
Add table
Reference in a new issue