summaryrefslogtreecommitdiff
path: root/test-suite/tests/foreign.test
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/tests/foreign.test')
-rw-r--r--test-suite/tests/foreign.test21
1 files changed, 21 insertions, 0 deletions
diff --git a/test-suite/tests/foreign.test b/test-suite/tests/foreign.test
index 05846eda7..d741b7e44 100644
--- a/test-suite/tests/foreign.test
+++ b/test-suite/tests/foreign.test
@@ -189,4 +189,25 @@
(data (list -7 3.14)))
(equal? (parse-c-struct (make-c-struct layout data)
layout)
+ data)))
+
+ (pass-if "int8, pointer"
+ (let ((layout (list uint8 '*))
+ (data (list 222 (make-pointer 7777))))
+ (equal? (parse-c-struct (make-c-struct layout data)
+ layout)
+ data)))
+
+ (pass-if "unsigned-long, int8, size_t"
+ (let ((layout (list unsigned-long int8 size_t))
+ (data (list (expt 2 17) -128 (expt 2 18))))
+ (equal? (parse-c-struct (make-c-struct layout data)
+ layout)
+ data)))
+
+ (pass-if "long, int, pointer"
+ (let ((layout (list long int '*))
+ (data (list (- (expt 2 17)) -222 (make-pointer 777))))
+ (equal? (parse-c-struct (make-c-struct layout data)
+ layout)
data))))