about summary refs log tree commit diff
path: root/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs
blob: 51aa5f24e4ce90b86e58124a519dde18a1a1b8dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// run-pass
// Testing that a libsyntax can parse modules with canonicalized base path
// ignore-cross-compile

#![feature(rustc_private)]

extern crate syntax;
extern crate rustc_parse;

use rustc_parse::new_parser_from_file;
use std::path::Path;
use syntax::sess::ParseSess;
use syntax::source_map::FilePathMapping;

#[path = "mod_dir_simple/test.rs"]
mod gravy;

pub fn main() {
    syntax::with_default_globals(|| parse());

    assert_eq!(gravy::foo(), 10);
}

fn parse() {
    let parse_session = ParseSess::new(FilePathMapping::empty());

    let path = Path::new(file!());
    let path = path.canonicalize().unwrap();
    let mut parser = new_parser_from_file(&parse_session, &path);
    let _ = parser.parse_crate_mod();
}