Enable CfgOptions test for workspace crates

This commit is contained in:
uHOOCCOOHu 2019-09-30 07:38:16 +08:00
parent b1ed887d81
commit d2ea776b8f
No known key found for this signature in database
GPG key ID: CED392DE0C483D00
9 changed files with 134 additions and 26 deletions

View file

@ -49,6 +49,7 @@ mod test_utils;
use std::sync::Arc;
use ra_cfg::CfgOptions;
use ra_db::{
salsa::{self, ParallelDatabase},
CheckCanceled, SourceDatabase,
@ -322,7 +323,10 @@ impl Analysis {
change.add_root(source_root, true);
let mut crate_graph = CrateGraph::default();
let file_id = FileId(0);
crate_graph.add_crate_root(file_id, Edition::Edition2018);
// FIXME: cfg options
// Default to enable test for single file.
let cfg_options = CfgOptions::default().atom("test".into());
crate_graph.add_crate_root(file_id, Edition::Edition2018, cfg_options);
change.add_file(source_root, file_id, "main.rs".into(), Arc::new(text));
change.set_crate_graph(crate_graph);
host.apply_change(change);

View file

@ -2,6 +2,7 @@
use std::sync::Arc;
use ra_cfg::CfgOptions;
use relative_path::RelativePathBuf;
use test_utils::{extract_offset, extract_range, parse_fixture, CURSOR_MARKER};
@ -93,10 +94,12 @@ impl MockAnalysis {
assert!(path.starts_with('/'));
let path = RelativePathBuf::from_path(&path[1..]).unwrap();
let file_id = FileId(i as u32 + 1);
// FIXME: cfg options
let cfg_options = CfgOptions::default();
if path == "/lib.rs" || path == "/main.rs" {
root_crate = Some(crate_graph.add_crate_root(file_id, Edition2018));
root_crate = Some(crate_graph.add_crate_root(file_id, Edition2018, cfg_options));
} else if path.ends_with("/lib.rs") {
let other_crate = crate_graph.add_crate_root(file_id, Edition2018);
let other_crate = crate_graph.add_crate_root(file_id, Edition2018, cfg_options);
let crate_name = path.parent().unwrap().file_name().unwrap();
if let Some(root_crate) = root_crate {
crate_graph.add_dep(root_crate, crate_name.into(), other_crate).unwrap();

View file

@ -41,6 +41,7 @@ mod tests {
AnalysisChange, CrateGraph,
Edition::Edition2018,
};
use ra_cfg::CfgOptions;
#[test]
fn test_resolve_parent_module() {
@ -88,7 +89,7 @@ mod tests {
assert!(host.analysis().crate_for(mod_file).unwrap().is_empty());
let mut crate_graph = CrateGraph::default();
let crate_id = crate_graph.add_crate_root(root_file, Edition2018);
let crate_id = crate_graph.add_crate_root(root_file, Edition2018, CfgOptions::default());
let mut change = AnalysisChange::new();
change.set_crate_graph(crate_graph);
host.apply_change(change);