• Jinoh Kang's avatar
    kernel32/tests: Remove test for ACTCTX_FLAG_HMODULE_VALID with hModule = NULL case. · f0fcce14
    Jinoh Kang authored
    Today, the test scenario "ACTCTX_FLAG_HMODULE_VALID but hModule if not
    set" is broken and unreliable.  This problem is not evident in WineHQ
    batch test runs; rather, the test failure seems to only be triggered
    when the kernel32:actctx test is run in isolation.
    
    When the flag ACTCTX_FLAG_HMODULE_VALID is specified in ACTCTXW but
    hModule is set to NULL, CreateActCtxW() may encounter different failure
    modes depending on the test executable file.  Error codes observed so
    far include ERROR_SXS_CANT_GEN_ACTCTX and ERROR_SXS_MANIFEST_TOO_BIG.
    
    When the aforementioned test reports ERROR_SXS_CANT_GEN_ACTCTX on
    Windows, an event is recorded in the Windows Event Log as follows:
    
    - Log Name:    Application
    - Source:      SideBySide
    - Event ID:    59
    - Level:       Error
    - Description:
    
      Activation context generation failed for "<path..>\kernel32_test.exe".Error in manifest or policy file "<path..>\kernel32_test.exe" on line 0.
      Invalid Xml syntax.
    
    It appears that the inconsistent failure was caused by Windows trying to
    interpret the main executable file of the current process as an XML
    manifest file.  This fails due to one or more of the following reasons:
    
    - ERROR_SXS_CANT_GEN_ACTCTX: A valid PE executable that starts with the
      "MZ" signature is not a valid XML file.
    
    - ERROR_SXS_MANIFEST_TOO_BIG (or ERROR_NOT_ENOUGH_MEMORY): The
      executable's size may exceed the limit imposed by the manifest parser.
      This is much more likely for binaries with debugging symbols.
    
      Meanwhile, winetest.exe bundles a stripped version of the test
      executable (kernel32_test-stripped.exe), which is often smaller than
      the original executable (not stripped).  This probably explains why
      the problem was not visible in batch test runs.
    
    Fix this by removing the failing test entirely.
    f0fcce14
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.gitlab-ci.yml Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...