4 module SaxonBXQuery : ENGINE =
6 let name = "SaxonBXquery"
8 (* Todo call the binary to actually compute the version string *)
12 Saxon 9.0.0.4J from Saxonica"
13 let command = "saxonb-xquery"
16 let mk_queryfile b doc q out = build_xquery doc q out b
17 let mk_cmdline b qout qfile _ _ = [ "-t" ; "-pipe:push";"-o:"^qout; qfile ]
18 let parse_rules = [ (".*Analysis time: \\([0-9]+\\) milliseconds.*",
19 [ Query_compile_time 1 ]);
21 (".*Tree built in \\([0-9]+\\) milliseconds.*",
22 [ Input_parsing_time 1 ]);
24 (".*Execution time: \\([0-9]+\\) milliseconds.*",
25 [ Query_execution_time 1 ]);
30 module XsltProc : ENGINE =
34 (* Todo call the binary to actually compute the version string *)
36 "xsltproc is a command line tool for applying XSLT stylesheets to XML
37 documents. It is part of libxslt(3), the XSLT C library for GNOME.
38 While it was developed as part of the GNOME project, it can operate
39 independently of the GNOME desktop.
40 Using libxml 20632, libxslt 10124 and libexslt 813
42 let command = "xsltproc"
45 let mk_queryfile b doc q out = build_xslt doc q out b
46 let mk_cmdline b qout qfile doc _ = [ "--timing" ; "-o";qout; qfile; doc ]
47 let parse_rules = [ (".*Parsing stylesheet test.xsl took \\([0-9]+\\) ms.*",
48 [ Query_compile_time 1 ]);
50 (".*Parsing document tiny.xml took \\([0-9]+\\) ms.*",
51 [ Input_parsing_time 1 ]);
53 (".*Running stylesheet and saving result took \\([0-9]+\\) ms.*",
54 [ Query_execution_time 1 ]);
57 module SXSI : ENGINE =
61 let command = "../main"
64 let mk_queryfile b doc q out = ()
65 let mk_cmdline b qout qfile doc q = [ "-d"; doc; q ]@ (if b then [qout] else [])
67 [ ( ".*Parsing document :[ \\t]*\\([0-9]+\\.[0-9]*\\)ms.*",
68 [ Input_parsing_time 1]);
70 ( ".*Compiling query :[ \\t]*\\([0-9]+\\.[0-9]*\\)ms.*",
71 [ Query_compile_time 1]);
73 ( ".*Execution time :[ \\t]*\\([0-9]+\\.[0-9]*\\)ms.*",
74 [ Query_execution_time 1]);
76 ( ".*Serializing results :[ \\t]*\\([0-9]+\\.[0-9]*\\)ms.*",
77 [ Serialization_time 1]);
86 let l = TEST.test_engine [] (make_queryset
93 List.iter (function (e,d),s ->
94 Printf.printf "\n-------------- %s -----------------" e;
98 print_stats Format.std_formatter i) (List.hd s);
99 Printf.printf "\n----------------------------------------\n"