1 extern crate clang_sys;
2 extern crate libc;
3
4 use std::ptr;
5
6 use clang_sys::*;
7
8 use libc::c_char;
9
parse()10 fn parse() {
11 unsafe {
12 let index = clang_createIndex(0, 0);
13 assert!(!index.is_null());
14
15 let tu = clang_parseTranslationUnit(
16 index,
17 "tests/header.h\0".as_ptr() as *const c_char,
18 ptr::null_mut(),
19 0,
20 ptr::null_mut(),
21 0,
22 0,
23 );
24 assert!(!tu.is_null());
25 }
26 }
27
28 #[cfg(feature = "runtime")]
29 #[test]
test()30 fn test() {
31 load().unwrap();
32 let library = get_library().unwrap();
33 println!("{:?} ({:?})", library.version(), library.path());
34 parse();
35 unload().unwrap();
36 }
37
38 #[cfg(not(feature = "runtime"))]
39 #[test]
test()40 fn test() {
41 parse();
42 }
43
44 #[test]
test_support()45 fn test_support() {
46 let clang = support::Clang::find(None, &[]).unwrap();
47 println!("{:?}", clang);
48 }
49
50 #[test]
test_support_target()51 fn test_support_target() {
52 let args = &["-target".into(), "x86_64-unknown-linux-gnu".into()];
53 let clang = support::Clang::find(None, args).unwrap();
54 println!("{:?}", clang);
55 }
56