(* Simple test of the API.
* Copyright (C) 2003 Merjis Ltd.
- * $Id: test.ml,v 1.1 2003-10-12 11:56:27 rich Exp $
+ * $Id: test.ml,v 1.7 2004-11-25 22:16:17 rich Exp $
*)
open Printf
let () =
- (* Arguments passed to the Perl "command line". Loads [test.pl] *)
- let args = [| ""; "-wT"; "examples/test.pl" |] in
+ (* Perform a full collection - good way to find bugs in initialization code*)
+ Gc.full_major ();
- (* Create the Perl interpreter. *)
- let pl = Perl.create ~args () in
+ (* Load "test.pl". *)
+ Perl.eval "require 'examples/test.pl'";
(* Call some subroutines in [test.pl]. *)
let sv = Perl.call ~fn:"return_one" [] in
let sv = Perl.call_method obj "get_foo" [] in
printf "TestClass.foo is %d\n" (Perl.int_of_sv sv); flush stdout;
- (* Destroy the interpreter. *)
- Perl.destroy pl
+ (* Create an undef value and test it. *)
+ let undef = Perl.sv_undef () in
+ printf "sv_is_undef (undef) = %s\n"
+ (string_of_bool (Perl.sv_is_undef undef));
+
+ (* Perform a full collection - good way to find GC/allocation bugs. *)
+ Gc.full_major ()