Just had a look at the following test failures on Windows. t\pmc\nci.t 2 512 56 2 3.57% 3 46
I have added the test output below. It may not look that way at first sight, but the failures are a result of missing exported symbols in libnci_test.dll (which remembers me of my proposal of tagging the symbols directly in the source and create the .def by grepping for them). Anyway, I'd like to ask for some help, as I am not (yet) up to speed with parrot's internals. The following sample is a simplified version of t/pmc/nci.t #3, and prints "-83.000000". Shouldn't things blow up, instead of printing the value? -snip- .include "datatypes.pasm" .sub test @MAIN # address of nci_dlvar_float .local pmc nci_dlvar_float # returns undef on missing symbol #nci_dlvar_float = dlvar libnci_test, "nci_dlvar_float" new nci_dlvar_float, .Undef # the contained structure pointer .local pmc nci_dlvar_float_decl nci_dlvar_float_decl = new ResizablePMCArray push nci_dlvar_float_decl, .DATATYPE_FLOAT push nci_dlvar_float_decl, 0 push nci_dlvar_float_decl, 0 assign nci_dlvar_float, nci_dlvar_float_decl N2 = nci_dlvar_float[0] print N2 print "\n" end .end -snap- -test failures snip- t\pmc\nci....NOK 3# got: 'libnci_test was successfully loaded # -83.000000 # -3330.000000 # -33300.000000 # -333000.000000 # -3330000.000000 # -33300000.000000 # ' # expected: 'libnci_test was successfully loaded # -333.000000 # -3330.000000 # -33300.000000 # -333000.000000 # -3330000.000000 # -33300000.000000 # ' t\pmc\nci....NOK 46# got: 'created a callback sub # loaded a function that takes a callback # external data: -55546 # external data: -555460 # external data: -5554600 # external data: -55546000 # external data: -555460000 # external data: -1259632704 # external data: 288574848 # external data: -1409218816 # external data: -1207286272 # marked callback as synchronous # external data: 812039168 # external data: -469542911 # external data: -400461813 # external data: 290349167 # external data: -1391475625 # external data: -1029854361 # external data: -1708609017 # external data: 93779015 # external data: 937790151 # ' # expected: 'created a callback sub # loaded a function that takes a callback # external data: 10 # external data: 100 # external data: 1000 # external data: 10000 # external data: 100000 # external data: 1000000 # external data: 10000000 # external data: 100000000 # external data: 1000000000 # marked callback as synchronous # external data: 1 # external data: 11 # external data: 111 # external data: 1111 # external data: 11111 # external data: 111111 # external data: 1111111 # external data: 11111111 # external data: 111111111 # ' -test failures snap- Ron