diff options
Diffstat (limited to 'src/expand/test_harness.cpp')
-rw-r--r-- | src/expand/test_harness.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/expand/test_harness.cpp b/src/expand/test_harness.cpp index 204ca75e..456f90e4 100644 --- a/src/expand/test_harness.cpp +++ b/src/expand/test_harness.cpp @@ -81,13 +81,18 @@ void Expand_TestHarness(::AST::Crate& crate) } desc_vals.push_back({ {}, "should_panic", mv$(should_panic_val) }); } + if( TARGETVER_1_29 ) + { + // TODO: Get this from attributes + desc_vals.push_back({ {}, "allow_fail", NEWNODE(_Bool, false) }); + } auto desc_expr = NEWNODE(_StructLiteral, ::AST::Path("test", { ::AST::PathNode("TestDesc")}), nullptr, mv$(desc_vals)); ::AST::ExprNode_StructLiteral::t_values descandfn_vals; - descandfn_vals.push_back({ {}, ::std::string("desc"), mv$(desc_expr) }); + descandfn_vals.push_back({ {}, RcString::new_interned("desc"), mv$(desc_expr) }); auto test_type_var_name = test.is_benchmark ? "StaticBenchFn" : "StaticTestFn"; - descandfn_vals.push_back({ {}, ::std::string("testfn"), NEWNODE(_CallPath, + descandfn_vals.push_back({ {}, RcString::new_interned("testfn"), NEWNODE(_CallPath, ::AST::Path("test", { ::AST::PathNode(test_type_var_name) }), ::make_vec1( NEWNODE(_NamedValue, AST::Path(test.path)) ) ) }); @@ -109,12 +114,12 @@ void Expand_TestHarness(::AST::Crate& crate) auto newmod = ::AST::Module { ::AST::Path("", { ::AST::PathNode("test#") }) }; // - TODO: These need to be loaded too. // > They don't actually need to exist here, just be loaded (and use absolute paths) - newmod.add_ext_crate(false, "std", "std", {}); - newmod.add_ext_crate(false, "test", "test", {}); + newmod.add_ext_crate(Span(), false, "std", "std", {}); + newmod.add_ext_crate(Span(), false, "test", "test", {}); - newmod.add_item(false, "main", mv$(main_fn), {}); - newmod.add_item(false, "TESTS", mv$(tests_list), {}); + newmod.add_item(Span(), false, "main", mv$(main_fn), {}); + newmod.add_item(Span(), false, "TESTS", mv$(tests_list), {}); - crate.m_root_module.add_item(false, "test#", mv$(newmod), {}); + crate.m_root_module.add_item(Span(), false, "test#", mv$(newmod), {}); crate.m_lang_items["mrustc-main"] = ::AST::Path("", { AST::PathNode("test#"), AST::PathNode("main") }); } |