forked from wine-mirror/wine
-
Notifications
You must be signed in to change notification settings - Fork 0
License
Unknown and 2 other licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE.OLD
LGPL-2.1
COPYING.LIB
fgouget/wine
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
****************************************
DO NOT USE FOR WINE DEVELOPMENT
This Wine source has been modified for the Wine TestBot Test Suite.
The goal of the WTBS is to make sure the Wine TestBot handles every patch
correctly.
Part of this implies testing compilation failures. So this branch contains
patches which will cause all sorts of compilation errors.
IT IS NORMAL FOR THIS BRANCH TO FAIL TO COMPILE
Generating the patch files
--------------------------
The most practical way to run the test suite is to first generate one
email per commit:
git format-patch --no-numbered --subject-prefix="" origin/master..
You can also add the --attach option to test attachment support.
Submitting the tests to the TestBot
-----------------------------------
First you should really have your own TestBot instance.
You will need it to automate checking the test suite results and to debug
any issue anyway. It would also be very rude to submit the whole test suite
to the official TestBot as it can take quite a long time to run. Finally
note that the test suite is incompatible with test=all missions but
test=module is ok.
You can submit the main sequence of tests to your TestBot instance at once
by running one of the following commands in the TestBot account:
cat *-WTBS-*.patch | formail -ds tools/testbot/bin/WinePatchesMLSubmit.pl
or going through the patches website:
cat >testbot.procmail <<EOF
UMASK = 0133
:0 hbfw
| ${HOME}/tools/patches/filter
:0:
${HOME}/tools/testbot/var/webpatches/.
EOF
cat *-WTBS-*.patch | formail -ds procmail testbot.procmail
tools/testbot/bin/WinePatchesWebSubmit.pl
You can also submit a single patchset with something like:
cat *-S4.*.patch | formail -ds tools/testbot/bin/WinePatchesMLSubmit.pl
or a single test:
formail -ds tools/testbot/bin/WinePatchesMLSubmit.pl <0002-WTBS-*.patch
Finally you can also pick a single file and submit it through the web
interface.
Note that the test suite also contains some mbox files containing extra
tests. To run those just use one of the cat commands on the mbox(es).
For instance:
cat wtbs-*.mbox | formail -ds tools/testbot/bin/WinePatchesMLSubmit.pl
Checking the test suite results
-------------------------------
The TestBot results can be checked using TestWTBS:
tools/testbot/tests/TestWTBS
You can restrict the checks to a specific job range with the --jobs option;
and if you saved the TestBot's results and error notification emails to an
mbox file you can have TestWTBS verify those too with the --mbox option.
Note that if you put the patches in an email attachment, then
WinePatchesMLSubmit.pl will have stripped the commit message which contains
the TestWTBS directives. So for TestWTBS either don't use attachments or
use WinePatchesMLSubmit.pl.
Of course you can also check the test results by hand and the commit
message should help you know what to expect.
Guidelines
----------
* All patches should contain 'WTBS' in their subject line.
* The commit message should describe the scenario being tested and how the
TestBot is expected to handle it.
* Whenever a patch modifies a Wine test, include a '(test:unit)' string on
the subject line to describe the test being patched.
* The test suite contains many patch series and the TestBot also strips
the part numbers. So include an 'Sn.p' string in the subject where n
is a unique number identifying the patch series and p is the part
number within that series. This greatly simplifies identifying the
TestBot jobs corresponding to a given patch series.
* In patch series it is important to not only test what should happen, but
also what should not happen to make sure the TestBot ony takes into
account the relevant parts of the previous parts. So if part 1 modifies
a test in kernel32 and part 2 only modifies a test in ntdll, the TestWTBS
directives should also verify that the TestBot does not rerun the kernel32
test.
* If a test fails because of a known TestBot bug, add BUG:nnn in the
subject line where nnn is the corresponding WineHQ bug id. Further add
a FIXME line at the start of the commit message describing why the test
is impacted by that bug.
* The Wine test failure messages and traces should contain 'WTBS' to
simplify grepping.
* Add TestWTBS directives in the commit message to allow automating the
tests. See the TestWTBS source for a description of the directives
format.
* If special control over the emails that are submitted to the TestBot is
necessary (to test attachment support or threading), then put these
emails in an mbox-file called wtbs-xxx.mbox at the root of the
repository where xxx describes the area being tested. Provide further
details about the tests in the emails themselves.
* (wtbs-xxx.mbox) Emails that contain no patch should have NoPatch in
their subject line to allow for TestWTBS.
****************************************
1. INTRODUCTION
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x, Win32, and Win64 executables) on Unix.
It consists of a program loader which loads and executes a Microsoft
Windows binary, and a library (called Winelib) that implements Windows
API calls using their Unix, X11 or Mac equivalents. The library may also
be used for porting Windows code into native Unix executables.
Wine is free software, released under the GNU LGPL; see the file
LICENSE for the details.
2. QUICK START
From the top-level directory of the Wine source (which contains this file),
run:
./configure
make
Then either install Wine:
make install
Or run Wine directly from the build directory:
./wine notepad
Run programs as "wine program". For more information and problem
resolution, read the rest of this file, the Wine man page, and
especially the wealth of information found at https://www.winehq.org.
3. REQUIREMENTS
To compile and run Wine, you must have one of the following:
Linux version 2.0.36 or later
FreeBSD 8.0 or later
Solaris x86 9 or later
NetBSD-current
Mac OS X 10.8 or later
As Wine requires kernel-level thread support to run, only the operating
systems mentioned above are supported. Other operating systems which
support kernel threads may be supported in the future.
FreeBSD info:
Wine will generally not work properly on versions before FreeBSD 8.0.
See https://wiki.freebsd.org/Wine for more information.
Solaris info:
You will most likely need to build Wine with the GNU toolchain
(gcc, gas, etc.). Warning : installing gas does *not* ensure that it
will be used by gcc. Recompiling gcc after installing gas or
symlinking cc, as and ld to the gnu tools is said to be necessary.
NetBSD info:
Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options
turned on in your kernel.
Mac OS X info:
You need Xcode/Xcode Command Line Tools or Apple cctools. The
minimum requirements for compiling Wine are clang 3.8 with the
MacOSX10.10.sdk and mingw-w64 v8. The MacOSX10.14.sdk and later can
only build wine64.
Supported file systems:
Wine should run on most file systems. A few compatibility problems
have also been reported using files accessed through Samba. Also,
NTFS does not provide all the file system features needed by some
applications. Using a native Unix file system is recommended.
Basic requirements:
You need to have the X11 development include files installed
(called xorg-dev in Debian and libX11-devel in Red Hat).
Of course you also need "make" (most likely GNU make).
You also need flex version 2.5.33 or later and bison.
Optional support libraries:
Configure will display notices when optional libraries are not found
on your system. See https://wiki.winehq.org/Recommended_Packages for
hints about the packages you should install. On 64-bit platforms,
you have to make sure to install the 32-bit versions of these
libraries.
4. COMPILATION
To build Wine, do:
./configure
make
This will build the program "wine" and numerous support libraries/binaries.
The program "wine" will load and run Windows executables.
The library "libwine" ("Winelib") can be used to compile and link
Windows source code under Unix.
To see compile configuration options, do ./configure --help.
For more information, see https://wiki.winehq.org/Building_Wine
5. SETUP
Once Wine has been built correctly, you can do "make install"; this
will install the wine executable and libraries, the Wine man page, and
other needed files.
Don't forget to uninstall any conflicting previous Wine installation
first. Try either "dpkg -r wine" or "rpm -e wine" or "make uninstall"
before installing.
Once installed, you can run the "winecfg" configuration tool. See the
Support area at https://www.winehq.org/ for configuration hints.
6. RUNNING PROGRAMS
When invoking Wine, you may specify the entire path to the executable,
or a filename only.
For example: to run Notepad:
wine notepad (using the search Path as specified in
wine notepad.exe the registry to locate the file)
wine c:\\windows\\notepad.exe (using DOS filename syntax)
wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax)
wine notepad.exe readme.txt (calling program with parameters)
Wine is not perfect, so some programs may crash. If that happens you
will get a crash log that you should attach to your report when filing
a bug.
7. GETTING MORE INFORMATION
WWW: A great deal of information about Wine is available from WineHQ at
https://www.winehq.org/ : various Wine Guides, application database,
bug tracking. This is probably the best starting point.
FAQ: The Wine FAQ is located at https://www.winehq.org/FAQ
Wiki: The Wine Wiki is located at https://wiki.winehq.org
Mailing lists:
There are several mailing lists for Wine users and developers;
see https://www.winehq.org/forums for more information.
Bugs: Report bugs to Wine Bugzilla at https://bugs.winehq.org
Please search the bugzilla database to check whether your
problem is already known or fixed before posting a bug report.
IRC: Online help is available at channel #WineHQ on irc.freenode.net.
Git: The current Wine development tree is available through Git.
Go to https://www.winehq.org/git for more information.
If you add something, or fix a bug, please send a patch (preferably
using git-format-patch) to the [email protected] list for
inclusion in the next release.
--
Alexandre Julliard
[email protected]
About
No description, website, or topics provided.
Resources
License
Unknown and 2 other licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE.OLD
LGPL-2.1
COPYING.LIB
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 93.4%
- Python 3.6%
- Ruby 1.0%
- Perl 0.5%
- Yacc 0.4%
- JavaScript 0.3%
- Other 0.8%