add a simple ffi test using structs
This commit is contained in:
committed by
Bennet Bleßmann
parent
760e1d2aac
commit
6205f2f1f1
19
tests-pl/ffi_struct.pl
Normal file
19
tests-pl/ffi_struct.pl
Normal file
@@ -0,0 +1,19 @@
|
||||
:- use_module(library(os)).
|
||||
:- use_module(library(ffi)).
|
||||
|
||||
test :-
|
||||
read(Body),
|
||||
term_variables(Body, [LIB]),
|
||||
Body,
|
||||
foreign_struct(pg, [uint8, uint16, uint32, uint64, uint8, f32, f64]),
|
||||
use_foreign_module(LIB, ['construct'([uint8, uint16, uint32, uint64, uint8, f32, f64], pg), 'modify'([pg], pg)]),
|
||||
ffi:'construct'(8, 12, 46, 40, 127, 1.368, -4.587, PG),
|
||||
write(("PG"-PG)), nl,
|
||||
ffi:'modify'(PG, [pg, A, B, C, D, A2, E, F]),
|
||||
% skipping E & F for now as the result changes between runs for some reason
|
||||
write(("PG2"-[pg, A, B, C, D, A2, "skip", "skip"])), nl,
|
||||
% avoide singelton warning
|
||||
E = _,
|
||||
F = _.
|
||||
|
||||
:- initialization(test).
|
||||
Reference in New Issue
Block a user