aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/guile/overload_complicated_runme.scm
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/guile/overload_complicated_runme.scm')
-rw-r--r--Examples/test-suite/guile/overload_complicated_runme.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/Examples/test-suite/guile/overload_complicated_runme.scm b/Examples/test-suite/guile/overload_complicated_runme.scm
new file mode 100644
index 000000000..0423aafbd
--- /dev/null
+++ b/Examples/test-suite/guile/overload_complicated_runme.scm
@@ -0,0 +1,18 @@
+;; The SWIG modules have "passive" Linkage, i.e., they don't generate
+;; Guile modules (namespaces) but simply put all the bindings into the
+;; current module. That's enough for such a simple test.
+(dynamic-call "scm_init_overload_complicated_module" (dynamic-link "./liboverload_complicated.so"))
+
+(define-macro (check form)
+ `(if (not ,form)
+ (error "Check failed: " ',form)))
+
+;; Check first method
+(check (= (foo 1 2 "bar" 4) 15))
+
+;; Check second method
+(check (= (foo 1 2) 4811.4))
+(check (= (foo 1 2 3.2) 4797.2))
+(check (= (foo 1 2 3.2 #\Q) 4798.2))
+
+(exit 0)