Wed Oct 26 03:34:19 2016: Request 107450 was acted upon.
Transaction: Correspondence added by KMX
       Queue: Win32-API
     Subject: long double troubles with 5.22.0
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: k...@cpan.org
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=107450 >


Hi, here is an update with Win32-API-0.84 on perl 5.022003(RC4) built for
MSWin32-x64-multi-thread-ld

##### FAILURE 1 #####
t/02_Callback.t ...... 1/20 # Compiler name:gcc
# Compiler version:0
# $^E=

#   Failed test 'do_callback_void_d was successful'
#   at t/02_Callback.t line 199.
#          got: '9876.54320000000007'
#     expected: '9876.5432'
# Looks like you failed 1 test of 20.
t/02_Callback.t ...... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/20 subtests
        (less 5 skipped subtests: 14 okay)

##### FAILURE 2 #####
t\00_API.t ..
1..58
ok 1 - use Encode;
ok 2 - use Win32::API;
# 00_API.t entered RUN phase
ok 3 - use Win32;
ok 4 - loaded
# API test dll found at (API_test64.dll)
ok 5 - found API test dll
ok 6 - GetCurrentProcessId() function found# $test_dll abs path is 
"C:\tmpld\data\.cpanm\work\1477466704.26464\Win32-API-0.84\API_test64.dll"

ok 7 - GetCurrentProcessId() result ok
ok 8 - GetCurrentProcessId() result ok
ok 9 - Import of GetCurrentProcessId() function from kernel32.dll
ok 10 - GetCurrentProcessId() result ok
ok 11 - Import of IsBadReadPtr function from kernel32.dll
ok 12 - API test dll was freed
ok 13 # skip ULONG is an 8 byte integer on x64 on old api

ok 14 # skip ULONG is an 8 byte integer on x64 on old api#   Failed test 
'function call with double arguments'

ok 15 - GetHandle operates correctly#   at t\00_API.t line 193.

ok 16 - FreeHandle operates correctly
ok 17 - sum_integers() function defined
ok 18 - function call with integer arguments and return value (Call)
ok 19 - function call with negative integer arguments and return value (Call) 
\#94906
ok 20 - Import() on sum_integers worked
ok 21 - function call with integer arguments and return value (Import)
ok 22 - sum_integers_ref() function defined
ok 23 - sum_integers_ref() returns the expected value
ok 24 - sum_integers_ref() correctly modifies its ref argument
ok 25 - short as return type croak because they are structs on old API
ok 26 - sum_shorts_ref() function defined
ok 27 - shorts croak as struct objs on old API
ok 28 - API_test.dll sum_doubles function defined
not ok 29 - function call with double arguments



ad Callback.t perhaps a patch like this might help:
- is($result, 9876.5432, "do_callback_void_d was successful");
+ ok(abs($result - 9876.5432) < 0.0001, "do_callback_void_d was successful");

ad 00_API.t
- ok($function->Call(2.5, 3.2) == 5.7, 'function call with double arguments');
+ ok(abs($function->Call(2.5, 3.2) - 5.7) < 0.1, 'function call with double
arguments');

Reply via email to