ec1071a9a464cf96cd779f03feebd6ef92c75c9f
[libguestfs.git] / ocaml / t / guestfs_500_inspect.ml
1 (* libguestfs OCaml bindings
2  * Copyright (C) 2009 Red Hat Inc.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  *)
18
19 open Unix
20
21 let (//) = Filename.concat
22 let dotdot = Filename.parent_dir_name
23
24 let read_file name =
25   let chan = open_in name in
26   let lines = ref [] in
27   let lines =
28     try while true do lines := input_line chan :: !lines done; []
29     with End_of_file -> List.rev !lines in
30   close_in chan;
31   String.concat "" lines
32
33 let parse name =
34   let xml = read_file name in
35   let os = Guestfs_inspector.inspect ~xml [] in
36   os
37
38 let () =
39   ignore (parse (dotdot // "inspector" // "example1.xml"));
40   ignore (parse (dotdot // "inspector" // "example2.xml"));
41   ignore (parse (dotdot // "inspector" // "example3.xml"));
42   ignore (parse (dotdot // "inspector" // "example4.xml"))