Skip to content

Commit

Permalink
Make a ui test to take the role of libproc_macro #[test] tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dtolnay committed May 19, 2021
1 parent 3e827cc commit 39441bb
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/test/ui/proc-macro/auxiliary/api/mod.rs
@@ -0,0 +1,16 @@
// force-host
// no-prefer-dynamic

#![crate_type = "proc-macro"]
#![crate_name = "proc_macro_api_tests"]
#![deny(dead_code)] // catch if a test function is never called

extern crate proc_macro;

use proc_macro::TokenStream;

#[proc_macro]
pub fn run(input: TokenStream) -> TokenStream {
assert!(input.is_empty());
TokenStream::new()
}
12 changes: 12 additions & 0 deletions src/test/ui/proc-macro/test.rs
@@ -0,0 +1,12 @@
// check-pass
// aux-build:api/mod.rs

//! This is for everything that *would* be a #[test] inside of libproc_macro,
//! except for the fact that proc_macro objects are not capable of existing
//! inside of an ordinary Rust test execution, only inside a macro.

extern crate proc_macro_api_tests;

proc_macro_api_tests::run!();

fn main() {}

0 comments on commit 39441bb

Please sign in to comment.