winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
September 2022
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
1 participants
553 discussions
Start a n
N
ew thread
Alexandre Julliard : user32/tests: Fix some assumption about absolute window positions.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: wine Branch: master Commit: 87653d26a24d51768cdcad4356f56cf961d8d433 URL:
https://gitlab.winehq.org/wine/wine/-/commit/87653d26a24d51768cdcad4356f56c…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 17:47:06 2022 +0200 user32/tests: Fix some assumption about absolute window positions. --- dlls/user32/tests/win.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c index 4c2af09d0c6..6daef2ffa44 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c @@ -10203,14 +10203,16 @@ static void window_from_point_proc(HWND parent) child_static = CreateWindowExA(0, "static", "static", WS_CHILD | WS_VISIBLE, 0, 0, 100, 100, parent, 0, NULL, NULL); ok(child_static != 0, "CreateWindowEx failed\n"); - pt.x = pt.y = 150; + pt.x = pt.y = 50; + ClientToScreen( child_static, &pt ); win = WindowFromPoint(pt); ok(win == parent, "WindowFromPoint returned %p, expected %p\n", win, parent); child_button = CreateWindowExA(0, "button", "button", WS_CHILD | WS_VISIBLE, 100, 0, 100, 100, parent, 0, NULL, NULL); ok(child_button != 0, "CreateWindowEx failed\n"); - pt.x = 250; + pt.x = pt.y = 50; + ClientToScreen( child_button, &pt ); win = WindowFromPoint(pt); ok(win == child_button, "WindowFromPoint returned %p, expected %p\n", win, child_button); @@ -10243,7 +10245,7 @@ static void window_from_point_proc(HWND parent) CloseHandle(end_event); } -static void test_window_from_point(const char *argv0) +static void test_window_from_point(HWND main_window, const char *argv0) { HWND hwnd, child, win; POINT pt; @@ -10253,12 +10255,15 @@ static void test_window_from_point(const char *argv0) HANDLE start_event, end_event; hwnd = CreateWindowExA(0, "MainWindowClass", NULL, WS_POPUP | WS_VISIBLE, - 100, 100, 200, 100, 0, 0, NULL, NULL); + 100, 100, 200, 100, main_window, 0, NULL, NULL); ok(hwnd != 0, "CreateWindowEx failed\n"); - pt.x = pt.y = 150; + pt.x = pt.y = 50; + ClientToScreen( hwnd, &pt ); win = WindowFromPoint(pt); - pt.x = 250; + pt.x = 150; + pt.y = 50; + ClientToScreen( hwnd, &pt ); if(win == hwnd) win = WindowFromPoint(pt); if(win != hwnd) { @@ -10270,7 +10275,8 @@ static void test_window_from_point(const char *argv0) child = CreateWindowExA(0, "static", "static", WS_CHILD | WS_VISIBLE, 0, 0, 100, 100, hwnd, 0, NULL, NULL); ok(child != 0, "CreateWindowEx failed\n"); - pt.x = pt.y = 150; + pt.x = pt.y = 50; + ClientToScreen( hwnd, &pt ); win = WindowFromPoint(pt); ok(win == hwnd, "WindowFromPoint returned %p, expected %p\n", win, hwnd); DestroyWindow(child); @@ -10298,11 +10304,13 @@ static void test_window_from_point(const char *argv0) win = WindowFromPoint(pt); ok(win == child, "WindowFromPoint returned %p, expected %p\n", win, child); - simulate_click(150, 150); + simulate_click(pt.x, pt.y); flush_events(TRUE); child = GetWindow(child, GW_HWNDNEXT); - pt.x = 250; + pt.x = 150; + pt.y = 50; + ClientToScreen( hwnd, &pt ); win = WindowFromPoint(pt); ok(win == child, "WindowFromPoint returned %p, expected %p\n", win, child); @@ -13084,7 +13092,7 @@ START_TEST(win) /* Add the tests below this line */ test_child_window_from_point(); - test_window_from_point(argv[0]); + test_window_from_point(hwndMain, argv[0]); test_thick_child_size(hwndMain); test_fullscreen(); test_hwnd_message();
1
0
0
0
Alexandre Julliard : winetest: Add extra quiet mode that only outputs data for failed tests.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: wine Branch: master Commit: 1bc6b9622ff89199ee97e618f8edc80d391c4ca5 URL:
https://gitlab.winehq.org/wine/wine/-/commit/1bc6b9622ff89199ee97e618f8edc8…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 16:42:33 2022 +0200 winetest: Add extra quiet mode that only outputs data for failed tests. --- programs/winetest/main.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/programs/winetest/main.c b/programs/winetest/main.c index bb6e64c4fdd..38f44d2e717 100644 --- a/programs/winetest/main.c +++ b/programs/winetest/main.c @@ -64,6 +64,7 @@ static const char testexe[] = "_test.exe"; static char build_id[64]; static BOOL is_wow64; static int failures; +static int quiet_mode; /* filters for running only specific tests */ static char **filters; @@ -717,15 +718,11 @@ run_ex (char *cmd, HANDLE out_file, const char *tempdir, DWORD ms, BOOL nocritic DWORD wait, status, flags; UINT old_errmode; - /* Flush to disk so we know which test caused Windows to crash if it does */ - if (out_file) - FlushFileBuffers(out_file); - GetStartupInfoA (&si); si.dwFlags = STARTF_USESTDHANDLES; si.hStdInput = GetStdHandle( STD_INPUT_HANDLE ); - si.hStdOutput = out_file ? out_file : GetStdHandle( STD_OUTPUT_HANDLE ); - si.hStdError = out_file ? out_file : GetStdHandle( STD_ERROR_HANDLE ); + si.hStdOutput = out_file; + si.hStdError = out_file; if (nocritical) { old_errmode = SetErrorMode(0); @@ -862,11 +859,26 @@ run_test (struct wine_test* test, const char* subtest, HANDLE out_file, const ch else { int status; - DWORD pid, start = GetTickCount(); + DWORD pid, size, start = GetTickCount(); char *cmd = strmake (NULL, "%s %s", test->exename, subtest); report (R_STEP, "Running: %s:%s", test->name, subtest); xprintf ("%s:%s start %s\n", test->name, subtest, file); - status = run_ex (cmd, out_file, tempdir, 120000, FALSE, &pid); + /* Flush to disk so we know which test caused Windows to crash if it does */ + FlushFileBuffers(out_file); + if (quiet_mode > 1) + { + char *data, tmpname[MAX_PATH]; + HANDLE tmpfile = create_temp_file( tmpname ); + status = run_ex (cmd, tmpfile, tempdir, 120000, FALSE, &pid); + if (status) + { + data = flush_temp_file( tmpname, tmpfile, &size ); + WriteFile( out_file, data, size, &size, NULL ); + free( data ); + } + else close_temp_file( tmpname, tmpfile ); + } + else status = run_ex (cmd, out_file, tempdir, 120000, FALSE, &pid); if (status == -2) status = -GetLastError(); free(cmd); xprintf ("%s:%s:%04x done (%d) in %ds\n", test->name, subtest, pid, status, (GetTickCount()-start)/1000); @@ -1372,6 +1384,7 @@ int __cdecl main( int argc, char *argv[] ) case 'q': report (R_QUIET); interactive = 0; + quiet_mode++; break; case 's': if (!(submit = argv[++i]))
1
0
0
0
Alexandre Julliard : winetest: Add helper functions for temp file handling.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: wine Branch: master Commit: 4b590b212d9669383c77a8ad4c47f5e766c7557b URL:
https://gitlab.winehq.org/wine/wine/-/commit/4b590b212d9669383c77a8ad4c47f5…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 16:42:05 2022 +0200 winetest: Add helper functions for temp file handling. --- programs/winetest/main.c | 142 +++++++++++++++++++++++------------------------ 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/programs/winetest/main.c b/programs/winetest/main.c index ff76eec6e64..bb6e64c4fdd 100644 --- a/programs/winetest/main.c +++ b/programs/winetest/main.c @@ -140,6 +140,59 @@ static void add_filter( const char *name ) filters[nb_filters++] = xstrdup(name); } +static HANDLE create_output_file( const char *name ) +{ + SECURITY_ATTRIBUTES sa; + HANDLE file; + + /* make handle inheritable */ + sa.nLength = sizeof(sa); + sa.lpSecurityDescriptor = NULL; + sa.bInheritHandle = TRUE; + + file = CreateFileA( name, GENERIC_READ|GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + &sa, CREATE_ALWAYS, 0, NULL ); + + if (file == INVALID_HANDLE_VALUE && GetLastError() == ERROR_INVALID_PARAMETER) + { + /* FILE_SHARE_DELETE not supported on win9x */ + file = CreateFileA( name, GENERIC_READ|GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE, + &sa, CREATE_ALWAYS, 0, NULL ); + } + return file; +} + +static HANDLE create_temp_file( char name[MAX_PATH] ) +{ + char tmpdir[MAX_PATH]; + + if (!GetTempPathA( MAX_PATH, tmpdir ) || + !GetTempFileNameA( tmpdir, "out", 0, name )) + report (R_FATAL, "Can't name temp file."); + + return create_output_file( name ); +} + +static void close_temp_file( const char *name, HANDLE file ) +{ + CloseHandle( file ); + DeleteFileA( name ); +} + +static char *flush_temp_file( const char *name, HANDLE file, DWORD *retsize ) +{ + DWORD size = SetFilePointer( file, 0, NULL, FILE_CURRENT ); + char *buffer = xalloc( size + 1 ); + + SetFilePointer( file, 0, NULL, FILE_BEGIN ); + if (!ReadFile( file, buffer, size, retsize, NULL )) *retsize = 0; + close_temp_file( name, file ); + buffer[*retsize] = 0; + return buffer; +} + static char * get_file_version(char * file_name) { static char version[32]; @@ -736,40 +789,15 @@ get_subtests (const char *tempdir, struct wine_test *test, LPSTR res_name) char *cmd; HANDLE subfile; DWORD err, total; - char buffer[8192], *index; + char *buffer, *index; static const char header[] = "Valid test names:"; int status, allocated; - char tmpdir[MAX_PATH], subname[MAX_PATH]; - SECURITY_ATTRIBUTES sa; + char subname[MAX_PATH]; test->subtest_count = 0; - if (!GetTempPathA( MAX_PATH, tmpdir ) || - !GetTempFileNameA( tmpdir, "sub", 0, subname )) - report (R_FATAL, "Can't name subtests file."); - - /* make handle inheritable */ - sa.nLength = sizeof(sa); - sa.lpSecurityDescriptor = NULL; - sa.bInheritHandle = TRUE; - - subfile = CreateFileA( subname, GENERIC_READ|GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, - &sa, CREATE_ALWAYS, 0, NULL ); - - if ((subfile == INVALID_HANDLE_VALUE) && - (GetLastError() == ERROR_INVALID_PARAMETER)) { - /* FILE_SHARE_DELETE not supported on win9x */ - subfile = CreateFileA( subname, GENERIC_READ|GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - &sa, CREATE_ALWAYS, 0, NULL ); - } - if (subfile == INVALID_HANDLE_VALUE) { - err = GetLastError(); - report (R_ERROR, "Can't open subtests output of %s: %u", - test->name, GetLastError()); - goto quit; - } + subfile = create_temp_file( subname ); + if (subfile == INVALID_HANDLE_VALUE) return GetLastError(); cmd = strmake (NULL, "%s --list", test->exename); if (test->maindllpath) { @@ -790,27 +818,16 @@ get_subtests (const char *tempdir, struct wine_test *test, LPSTR res_name) report (R_ERROR, "Cannot run %s error %u", test->exename, err); else err = status; - CloseHandle( subfile ); - goto quit; + close_temp_file( subname, subfile ); + return err; } - SetFilePointer( subfile, 0, NULL, FILE_BEGIN ); - ReadFile( subfile, buffer, sizeof(buffer), &total, NULL ); - CloseHandle( subfile ); - if (sizeof buffer == total) { - report (R_ERROR, "Subtest list of %s too big.", - test->name, sizeof buffer); - err = ERROR_OUTOFMEMORY; - goto quit; - } - buffer[total] = 0; - + buffer = flush_temp_file( subname, subfile, &total ); index = strstr (buffer, header); if (!index) { report (R_ERROR, "Can't parse subtests output of %s", test->name); - err = ERROR_INTERNAL_ERROR; - goto quit; + return ERROR_INTERNAL_ERROR; } index += sizeof header; @@ -826,12 +843,8 @@ get_subtests (const char *tempdir, struct wine_test *test, LPSTR res_name) index = strtok (NULL, whitespace); } test->subtests = xrealloc(test->subtests, test->subtest_count * sizeof(char*)); - err = 0; - - quit: - if (!DeleteFileA (subname)) - report (R_WARNING, "Can't delete file '%s': %u", subname, GetLastError()); - return err; + free( buffer ); + return 0; } static void @@ -1065,7 +1078,6 @@ run_tests (char *logname, char *outdir) int i; char *strres, *eol, *nextline; DWORD strsize; - SECURITY_ATTRIBUTES sa; char tmppath[MAX_PATH], tempdir[MAX_PATH+4]; BOOL newdir; DWORD needed; @@ -1081,31 +1093,19 @@ run_tests (char *logname, char *outdir) if (!GetTempPathA( MAX_PATH, tmppath )) report (R_FATAL, "Can't name temporary dir (check %%TEMP%%)."); - if (!logname) { + if (logname) + { + if (!strcmp(logname, "-")) logfile = GetStdHandle( STD_OUTPUT_HANDLE ); + else logfile = create_output_file( logname ); + } + else + { static char tmpname[MAX_PATH]; - if (!GetTempFileNameA( tmppath, "res", 0, tmpname )) - report (R_FATAL, "Can't name logfile."); + logfile = create_temp_file( tmpname ); logname = tmpname; } report (R_OUT, logname); - /* make handle inheritable */ - sa.nLength = sizeof(sa); - sa.lpSecurityDescriptor = NULL; - sa.bInheritHandle = TRUE; - - logfile = strcmp(logname, "-") == 0 ? GetStdHandle( STD_OUTPUT_HANDLE ) : - CreateFileA( logname, GENERIC_READ|GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, - &sa, CREATE_ALWAYS, 0, NULL ); - - if ((logfile == INVALID_HANDLE_VALUE) && - (GetLastError() == ERROR_INVALID_PARAMETER)) { - /* FILE_SHARE_DELETE not supported on win9x */ - logfile = CreateFileA( logname, GENERIC_READ|GENERIC_WRITE, - FILE_SHARE_READ | FILE_SHARE_WRITE, - &sa, CREATE_ALWAYS, 0, NULL ); - } if (logfile == INVALID_HANDLE_VALUE) report (R_FATAL, "Could not open logfile: %u", GetLastError());
1
0
0
0
Alexandre Julliard : makefiles: Add install-test target to install winetest.exe.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: wine Branch: master Commit: dbb55ed91aded087a6c0320a2f4ae7980200b1e3 URL:
https://gitlab.winehq.org/wine/wine/-/commit/dbb55ed91aded087a6c0320a2f4ae7…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 10:29:14 2022 +0200 makefiles: Add install-test target to install winetest.exe. --- programs/winetest/Makefile.in | 2 +- tools/gitlab/build.yml | 18 +++++++++--------- tools/makedep.c | 14 +++++++++----- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/programs/winetest/Makefile.in b/programs/winetest/Makefile.in index c4d505e4545..f82ba5ec438 100644 --- a/programs/winetest/Makefile.in +++ b/programs/winetest/Makefile.in @@ -19,4 +19,4 @@ EXTRA_OBJS = build.res EXTRA_TARGETS = build.nfo -INSTALL_LIB = none +INSTALL_TEST = winetest.exe diff --git a/tools/gitlab/build.yml b/tools/gitlab/build.yml index 93a284a2d90..08e63db0ecd 100644 --- a/tools/gitlab/build.yml +++ b/tools/gitlab/build.yml @@ -14,8 +14,9 @@ - build32/config.cache - build64/config.cache before_script: - - export CCACHE_BASEDIR="$PWD" - - export CCACHE_DIR="$PWD/ccache" + - export BASEDIR="$PWD" + - export CCACHE_BASEDIR="$BASEDIR" + - export CCACHE_DIR="$BASEDIR/ccache" - export CCACHE_COMPILERCHECK=content - export PATH="/usr/lib/ccache:$PATH" - mkdir -p build32 build64 @@ -60,12 +61,11 @@ build-winetest: - winetest64.exe script: - cd build64 - - ../configure -C --enable-win64 --with-mingw - - make -s -j$(nproc) programs/winetest/winetest.exe + - ../configure -q -C --enable-win64 --with-mingw + - make -s -j$(nproc) install-test DESTDIR=$BASEDIR - cd ../build32 - - ../configure -C --with-mingw - - make -s -j$(nproc) programs/winetest/winetest.exe + - ../configure -q -C --with-mingw + - make -s -j$(nproc) install-test DESTDIR=$BASEDIR - cd .. - - mv build32/programs/winetest/winetest.exe winetest.exe - - mv build64/programs/winetest/winetest.exe winetest64.exe - - chmod 644 winetest.exe winetest64.exe + - mv usr/local/lib/wine/i386-windows/winetest.exe winetest.exe + - mv usr/local/lib/wine/x86_64-windows/winetest.exe winetest64.exe diff --git a/tools/makedep.c b/tools/makedep.c index a980e505e3a..69b4a4c660b 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -122,9 +122,9 @@ static const struct static struct list files[HASH_SIZE]; static struct list global_includes[HASH_SIZE]; -enum install_rules { INSTALL_LIB, INSTALL_DEV, NB_INSTALL_RULES }; -static const char *install_targets[NB_INSTALL_RULES] = { "install-lib", "install-dev" }; -static const char *install_variables[NB_INSTALL_RULES] = { "INSTALL_LIB", "INSTALL_DEV" }; +enum install_rules { INSTALL_LIB, INSTALL_DEV, INSTALL_TEST, NB_INSTALL_RULES }; +static const char *install_targets[NB_INSTALL_RULES] = { "install-lib", "install-dev", "install-test" }; +static const char *install_variables[NB_INSTALL_RULES] = { "INSTALL_LIB", "INSTALL_DEV", "INSTALL_TEST" }; /* variables common to all makefiles */ static struct strarray linguas; @@ -3624,10 +3624,14 @@ static void output_subdirs( struct makefile *make ) for (j = 0; j < NB_INSTALL_RULES; j++) { if (!install_deps[j].count) continue; - output( "install %s::", install_targets[j] ); + if (strcmp( install_targets[j], "install-test" )) + { + output( "install " ); + strarray_add_uniq( &make->phony_targets, "install" ); + } + output( "%s::", install_targets[j] ); output_filenames( install_deps[j] ); output( "\n" ); - strarray_add_uniq( &make->phony_targets, "install" ); strarray_add_uniq( &make->phony_targets, install_targets[j] ); } output_uninstall_rules( make );
1
0
0
0
Alexandre Julliard : makedep: Make the handling of install rules more generic.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: wine Branch: master Commit: f9cad1bd19ec8525f918cf09f3f8ebc0a0945880 URL:
https://gitlab.winehq.org/wine/wine/-/commit/f9cad1bd19ec8525f918cf09f3f8eb…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 10:12:00 2022 +0200 makedep: Make the handling of install rules more generic. --- tools/makedep.c | 101 +++++++++++++++++++++++++++----------------------------- 1 file changed, 49 insertions(+), 52 deletions(-)
1
0
0
0
Alexandre Julliard : testbot: Fix copy/paste typo in previous change.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: tools Branch: master Commit: 06289537d5b7cbcd974c079cc9b3cf03a1fdba64 URL:
https://gitlab.winehq.org/winehq/tools/-/commit/06289537d5b7cbcd974c079cc9b…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 21:56:35 2022 +0200 testbot: Fix copy/paste typo in previous change. --- testbot/lib/WineTestBot/LogUtils.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm index 8729e9f7..98fed6aa 100644 --- a/testbot/lib/WineTestBot/LogUtils.pm +++ b/testbot/lib/WineTestBot/LogUtils.pm @@ -703,7 +703,7 @@ sub ParseWineTestReport($$$) $Cur->{LineFailures}++; } } - elsif ($line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* \d+ tests? executed \((\d+) marked as todo, (?:(\d+) as flaky, )?(\d+) failures?\), (\d+) skipped\./) + elsif ($Line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* \d+ tests? executed \((\d+) marked as todo, (?:(\d+) as flaky, )?(\d+) failures?\), (\d+) skipped\./) { my ($Pid, $Unit, $Todos, $Flaky, $Failures, $Skips) = ($1, $2, $3, $4, $5, $6);
1
0
0
0
Alexandre Julliard : testbot: Add parsing of the new flaky test lines.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: tools Branch: master Commit: 4ac24ffb1cd0c46f157dc6466d72e8437134a847 URL:
https://gitlab.winehq.org/winehq/tools/-/commit/4ac24ffb1cd0c46f157dc6466d7…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 20:13:35 2022 +0200 testbot: Add parsing of the new flaky test lines. They are simply reported as failures for now. --- testbot/lib/WineTestBot/LogUtils.pm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm index 3de2f12c..8729e9f7 100644 --- a/testbot/lib/WineTestBot/LogUtils.pm +++ b/testbot/lib/WineTestBot/LogUtils.pm @@ -613,6 +613,14 @@ sub ParseWineTestReport($$$) _AddReportError($LogInfo, $Cur, $LineNo, "$&$'"); $Cur->{LineFailures}++; } + elsif (($Cur->{Unit} ne "" and + $Line =~ /($Cur->{UnitsRE})\.c:\d+:[0-9.]* Test (?:marked flaky|succeeded inside flaky todo block): /) or + $Line =~ /^([_a-z0-9]+)\.c:\d+:[0-9.]* Test (?:marked flaky|succeeded inside flaky todo block): /) + { + _CheckUnit($LogInfo, $Cur, $1, "flaky"); + _AddReportError($LogInfo, $Cur, $LineNo, "$&$'"); + $Cur->{LineFailures}++; + } elsif (($Cur->{Unit} ne "" and $Line =~ /($Cur->{UnitsRE})\.c:\d+:[0-9.]* Test marked todo: /) or $Line =~ /^([_a-z0-9]+)\.c:\d+:[0-9.]* Test marked todo: /) @@ -695,9 +703,9 @@ sub ParseWineTestReport($$$) $Cur->{LineFailures}++; } } - elsif ($Line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* \d+ tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./) + elsif ($line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* \d+ tests? executed \((\d+) marked as todo, (?:(\d+) as flaky, )?(\d+) failures?\), (\d+) skipped\./) { - my ($Pid, $Unit, $Todos, $Failures, $Skips) = ($1, $2, $3, $4, $5); + my ($Pid, $Unit, $Todos, $Flaky, $Failures, $Skips) = ($1, $2, $3, $4, $5, $6); # Dlls that have only one test unit will run it even if there is # no argument.
1
0
0
0
Alexandre Julliard : winetest: Add parsing of the new flaky test lines.
by Alexandre Julliard
07 Sep '22
07 Sep '22
Module: tools Branch: master Commit: d8fe21ff6193f10894bf05a1ab757c7432162efa URL:
https://gitlab.winehq.org/winehq/tools/-/commit/d8fe21ff6193f10894bf05a1ab7…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Sep 7 16:09:03 2022 +0200 winetest: Add parsing of the new flaky test lines. They are simply reported as failures for now. --- winetest/build-index | 2 +- winetest/dissect | 15 +++++++++++++-- winetest/report.css | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/winetest/build-index b/winetest/build-index index 9a244630..14f1ffa7 100755 --- a/winetest/build-index +++ b/winetest/build-index @@ -323,7 +323,7 @@ EOF print OUT " <td class=\"note\"></td>\n"; } } - print OUT " <td class=\"links\"><a href=\"$gitlab/commit/$build->{name}\">history</a>"; + print OUT " <td class=\"links\"><a href=\"$gitlab/commits/$build->{name}\">history</a>"; print OUT "</td></tr>\n"; } print OUT "</table></body></html>\n"; diff --git a/winetest/dissect b/winetest/dissect index 97bdc8da..fe8039dd 100755 --- a/winetest/dissect +++ b/winetest/dissect @@ -707,6 +707,17 @@ while ($line = <IN>) { check_unit($l_unit, "failure"); $failures++; } + elsif (($unit ne "" and + $line =~ /^(.*?)($units_re)\.c:(\d+)(:[0-9.]* Test (?:marked flaky|succeeded inside flaky todo block): .*)$/) or + $line =~ /^()([_a-z0-9]+)\.c:(\d+)(:[0-9.]* Test (?:marked flaky|succeeded inside flaky todo block): .*)$/) + { + my ($pollution, $l_unit, $l_num, $l_text) = ($1, $2, $3, $4); + add_test_line("flaky", escapeHTML($pollution) . + get_source_link($l_unit, $l_num) . + escapeHTML($l_text)); + check_unit($l_unit, "flaky"); + $failures++; + } elsif (($unit ne "" and $line =~ /^(.*?)($units_re)\.c:(\d+)(:[0-9.]* Test marked todo: .*)$/) or $line =~ /^()([_a-z0-9]+)\.c:(\d+)(:[0-9.]* Test marked todo: .*)$/) @@ -802,9 +813,9 @@ while ($line = <IN>) { get_source_link($l_unit, $l_num) . escapeHTML($l_text)); } - elsif ($line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* (\d+) tests? executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\./) + elsif ($line =~ /([0-9a-f]{4}):([_a-z0-9]+):[0-9.]* (\d+) tests? executed \((\d+) marked as todo, (?:(\d+) as flaky, )?(\d+) failures?\), (\d+) skipped\./) { - my ($l_pid, $l_unit, $l_total, $l_todo, $l_failures, $l_skipped) = ($1, $2, $3, $4, $5, $6); + my ($l_pid, $l_unit, $l_total, $l_todo, $l_flaky, $l_failures, $l_skipped) = ($1, $2, $3, $4, $5, $6, $7); my $class = $l_failures ? "failed" : $l_todo ? "todo" : "result"; if ($l_unit eq $unit) diff --git a/winetest/report.css b/winetest/report.css index 4b2d126a..9e98618d 100644 --- a/winetest/report.css +++ b/winetest/report.css @@ -55,6 +55,7 @@ div.end { .result { color: green; } .skipped { color: blue; } .failed { color: red; } +.flaky { color: purple; } .todo { color: #d08000; } .trace { color: black; }
1
0
0
0
Jacek Caban : winevulkan: Separate PE and Unix VkCommandBuffer structs.
by Alexandre Julliard
06 Sep '22
06 Sep '22
Module: wine Branch: master Commit: e553be7e776282fea77b8b60304298d9de90bd8b URL:
https://gitlab.winehq.org/wine/wine/-/commit/e553be7e776282fea77b8b60304298…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Fri Sep 2 15:57:02 2022 +0200 winevulkan: Separate PE and Unix VkCommandBuffer structs. --- dlls/winevulkan/loader.c | 63 ++++++ dlls/winevulkan/loader_thunks.c | 19 -- dlls/winevulkan/make_vulkan | 17 +- dlls/winevulkan/vulkan.c | 50 ++--- dlls/winevulkan/vulkan_loader.h | 8 + dlls/winevulkan/vulkan_private.h | 15 +- dlls/winevulkan/vulkan_thunks.c | 460 +++++++++++++++++++-------------------- 7 files changed, 331 insertions(+), 301 deletions(-)
1
0
0
0
Jacek Caban : winevulkan: Wrap VkCommandPool on PE side.
by Alexandre Julliard
06 Sep '22
06 Sep '22
Module: wine Branch: master Commit: 19326ff94ce937e5373ab2eb8e07e0e9600ef72b URL:
https://gitlab.winehq.org/wine/wine/-/commit/19326ff94ce937e5373ab2eb8e07e0…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Mon Sep 5 16:09:51 2022 +0200 winevulkan: Wrap VkCommandPool on PE side. --- dlls/winevulkan/loader.c | 34 ++++++++++++++++++++++++++++++++++ dlls/winevulkan/loader_thunks.c | 19 ------------------- dlls/winevulkan/loader_thunks.h | 1 + dlls/winevulkan/make_vulkan | 4 ++-- dlls/winevulkan/vulkan.c | 18 +++++++++++------- dlls/winevulkan/vulkan_loader.h | 10 ++++++++++ dlls/winevulkan/vulkan_private.h | 9 +++------ 7 files changed, 61 insertions(+), 34 deletions(-) diff --git a/dlls/winevulkan/loader.c b/dlls/winevulkan/loader.c index 221a62a5680..ce5d2314169 100644 --- a/dlls/winevulkan/loader.c +++ b/dlls/winevulkan/loader.c @@ -491,6 +491,40 @@ void WINAPI vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *alloca free(device); } +VkResult WINAPI vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *create_info, + const VkAllocationCallbacks *allocator, VkCommandPool *ret) +{ + struct vkCreateCommandPool_params params; + struct vk_command_pool *cmd_pool; + VkResult result; + + if (!(cmd_pool = malloc(sizeof(*cmd_pool)))) + return VK_ERROR_OUT_OF_HOST_MEMORY; + cmd_pool->unix_handle = 0; + + params.device = device; + params.pCreateInfo = create_info; + params.pAllocator = allocator; + params.pCommandPool = ret; + params.client_ptr = cmd_pool; + result = vk_unix_call(unix_vkCreateCommandPool, ¶ms); + if (!cmd_pool->unix_handle) + free(cmd_pool); + return result; +} + +void WINAPI vkDestroyCommandPool(VkDevice device, VkCommandPool handle, const VkAllocationCallbacks *allocator) +{ + struct vk_command_pool *cmd_pool = command_pool_from_handle(handle); + struct vkDestroyCommandPool_params params; + + params.device = device; + params.commandPool = handle; + params.pAllocator = allocator; + vk_unix_call(unix_vkDestroyCommandPool, ¶ms); + free(cmd_pool); +} + static BOOL WINAPI call_vulkan_debug_report_callback( struct wine_vk_debug_report_params *params, ULONG size ) { return params->user_callback(params->flags, params->object_type, params->object_handle, params->location, diff --git a/dlls/winevulkan/loader_thunks.c b/dlls/winevulkan/loader_thunks.c index cb4ea68a8b4..32626c27eab 100644 --- a/dlls/winevulkan/loader_thunks.c +++ b/dlls/winevulkan/loader_thunks.c @@ -1999,16 +1999,6 @@ VkResult WINAPI vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo return vk_unix_call(unix_vkCreateBufferView, ¶ms); } -VkResult WINAPI vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool) -{ - struct vkCreateCommandPool_params params; - params.device = device; - params.pCreateInfo = pCreateInfo; - params.pAllocator = pAllocator; - params.pCommandPool = pCommandPool; - return vk_unix_call(unix_vkCreateCommandPool, ¶ms); -} - VkResult WINAPI vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines) { struct vkCreateComputePipelines_params params; @@ -2441,15 +2431,6 @@ void WINAPI vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const vk_unix_call(unix_vkDestroyBufferView, ¶ms); } -void WINAPI vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator) -{ - struct vkDestroyCommandPool_params params; - params.device = device; - params.commandPool = commandPool; - params.pAllocator = pAllocator; - vk_unix_call(unix_vkDestroyCommandPool, ¶ms); -} - void WINAPI vkDestroyCuFunctionNVX(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks *pAllocator) { struct vkDestroyCuFunctionNVX_params params; diff --git a/dlls/winevulkan/loader_thunks.h b/dlls/winevulkan/loader_thunks.h index b42496e3655..410041ef51c 100644 --- a/dlls/winevulkan/loader_thunks.h +++ b/dlls/winevulkan/loader_thunks.h @@ -2066,6 +2066,7 @@ struct vkCreateCommandPool_params const VkCommandPoolCreateInfo *pCreateInfo; const VkAllocationCallbacks *pAllocator; VkCommandPool *pCommandPool; + void *client_ptr; }; struct vkCreateComputePipelines_params diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index a1cb6452f25..068e140a738 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -201,10 +201,10 @@ FUNCTION_OVERRIDES = { # Device functions "vkAllocateCommandBuffers" : {"dispatch" : True, "driver" : False, "thunk" : ThunkType.NONE}, - "vkCreateCommandPool" : {"dispatch": True, "driver" : False, "thunk" : ThunkType.NONE}, + "vkCreateCommandPool" : {"dispatch": True, "driver" : False, "thunk" : ThunkType.NONE, "loader_thunk" : ThunkType.PRIVATE, "extra_param" : "client_ptr"}, "vkCreateComputePipelines" : {"dispatch": True, "driver" : False, "thunk" : ThunkType.PRIVATE}, "vkCreateGraphicsPipelines" : {"dispatch": True, "driver" : False, "thunk" : ThunkType.PRIVATE}, - "vkDestroyCommandPool" : {"dispatch": True, "driver" : False, "thunk" : ThunkType.NONE}, + "vkDestroyCommandPool" : {"dispatch": True, "driver" : False, "thunk" : ThunkType.NONE, "loader_thunk" : ThunkType.PRIVATE}, "vkDestroyDevice" : {"dispatch" : True, "driver" : False, "thunk" : ThunkType.NONE, "loader_thunk" : ThunkType.PRIVATE}, "vkFreeCommandBuffers" : {"dispatch" : True, "driver" : False, "thunk" : ThunkType.NONE}, "vkGetDeviceProcAddr" : {"dispatch" : False, "driver" : True, "thunk" : ThunkType.NONE, "loader_thunk" : ThunkType.NONE}, diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c index 558b09c310a..652beb7b4e0 100644 --- a/dlls/winevulkan/vulkan.c +++ b/dlls/winevulkan/vulkan.c @@ -63,8 +63,8 @@ static const struct vulkan_funcs *vk_funcs; #define WINE_VK_ADD_DISPATCHABLE_MAPPING(instance, client_handle, native_handle, object) \ wine_vk_add_handle_mapping((instance), (uintptr_t)(client_handle), (uintptr_t)(native_handle), &(object)->mapping) -#define WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, native_handle) \ - wine_vk_add_handle_mapping((instance), (uint64_t) (uintptr_t) (object), (uint64_t) (native_handle), &(object)->mapping) +#define WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, client_handle, native_handle, object) \ + wine_vk_add_handle_mapping((instance), (uintptr_t)(client_handle), (native_handle), &(object)->mapping) static void wine_vk_add_handle_mapping(struct wine_instance *instance, uint64_t wrapped_handle, uint64_t native_handle, struct wine_vk_mapping *mapping) { @@ -1148,6 +1148,7 @@ NTSTATUS wine_vkCreateCommandPool(void *args) const VkCommandPoolCreateInfo *info = params->pCreateInfo; const VkAllocationCallbacks *allocator = params->pAllocator; VkCommandPool *command_pool = params->pCommandPool; + struct vk_command_pool *handle = params->client_ptr; struct wine_cmd_pool *object; VkResult res; @@ -1165,8 +1166,11 @@ NTSTATUS wine_vkCreateCommandPool(void *args) if (res == VK_SUCCESS) { - WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(device->phys_dev->instance, object, object->command_pool); - *command_pool = wine_cmd_pool_to_handle(object); + object->handle = (uintptr_t)handle; + handle->unix_handle = (uintptr_t)object; + WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(device->phys_dev->instance, object->handle, + object->command_pool, object); + *command_pool = object->handle; } else { @@ -1575,7 +1579,7 @@ NTSTATUS wine_vkCreateWin32SurfaceKHR(void *args) object->surface = vk_funcs->p_wine_get_native_surface(object->driver_surface); - WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, object->surface); + WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, object->surface, object); *surface = wine_surface_to_handle(object); @@ -1689,7 +1693,7 @@ NTSTATUS wine_vkCreateDebugUtilsMessengerEXT(void *args) return res; } - WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, object->debug_messenger); + WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, object->debug_messenger, object); *messenger = wine_debug_utils_messenger_to_handle(object); return VK_SUCCESS; @@ -1753,7 +1757,7 @@ NTSTATUS wine_vkCreateDebugReportCallbackEXT(void *args) return res; } - WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, object->debug_callback); + WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, object->debug_callback, object); *callback = wine_debug_report_callback_to_handle(object); return VK_SUCCESS; diff --git a/dlls/winevulkan/vulkan_loader.h b/dlls/winevulkan/vulkan_loader.h index bf99cf57694..fdf6d3d1699 100644 --- a/dlls/winevulkan/vulkan_loader.h +++ b/dlls/winevulkan/vulkan_loader.h @@ -78,6 +78,16 @@ struct VkDevice_T struct VkQueue_T queues[1]; }; +struct vk_command_pool +{ + UINT64 unix_handle; +}; + +static inline struct vk_command_pool *command_pool_from_handle(VkCommandPool handle) +{ + return (struct vk_command_pool *)(uintptr_t)handle; +} + struct vulkan_func { const char *name; diff --git a/dlls/winevulkan/vulkan_private.h b/dlls/winevulkan/vulkan_private.h index 99907252e2d..5f7642d5f6d 100644 --- a/dlls/winevulkan/vulkan_private.h +++ b/dlls/winevulkan/vulkan_private.h @@ -157,6 +157,7 @@ static inline struct wine_queue *wine_queue_from_handle(VkQueue handle) struct wine_cmd_pool { + VkCommandPool handle; VkCommandPool command_pool; struct list command_buffers; @@ -166,12 +167,8 @@ struct wine_cmd_pool static inline struct wine_cmd_pool *wine_cmd_pool_from_handle(VkCommandPool handle) { - return (struct wine_cmd_pool *)(uintptr_t)handle; -} - -static inline VkCommandPool wine_cmd_pool_to_handle(struct wine_cmd_pool *cmd_pool) -{ - return (VkCommandPool)(uintptr_t)cmd_pool; + struct vk_command_pool *client_ptr = command_pool_from_handle(handle); + return (struct wine_cmd_pool *)(uintptr_t)client_ptr->unix_handle; } struct wine_debug_utils_messenger
1
0
0
0
← Newer
1
...
44
45
46
47
48
49
50
...
56
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Results per page:
10
25
50
100
200