xref: /third_party/rust/crates/clang-sys/tests/lib.rs (revision 6cdb10c1)
1extern crate clang_sys;
2extern crate libc;
3
4use std::ptr;
5
6use clang_sys::*;
7
8use libc::c_char;
9
10fn 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]
30fn 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]
40fn test() {
41    parse();
42}
43
44#[test]
45fn test_support() {
46    let clang = support::Clang::find(None, &[]).unwrap();
47    println!("{:?}", clang);
48}
49
50#[test]
51fn 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