1
0
mirror of https://github.com/fafhrd91/actix-net synced 2024-11-23 20:51:06 +01:00

add trybuild compile tests

This commit is contained in:
Rob Ede 2020-04-26 20:11:16 +01:00
parent 7d0cfe1b4d
commit 4c5568ed70
No known key found for this signature in database
GPG Key ID: C2A3B36E841A91E6
9 changed files with 52 additions and 4 deletions

1
actix-macros/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/wip

View File

@ -8,7 +8,6 @@ documentation = "https://docs.rs/actix-macros/"
categories = ["network-programming", "asynchronous"]
license = "MIT/Apache-2.0"
edition = "2018"
workspace = ".."
[lib]
proc-macro = true
@ -18,4 +17,7 @@ quote = "1.0.3"
syn = { version = "^1", features = ["full"] }
[dev-dependencies]
actix-rt = { version = "1.0.0" }
actix-rt = "1.0"
futures = "0.3"
trybuild = "1"

View File

@ -0,0 +1,9 @@
#[test]
fn compile_macros() {
let t = trybuild::TestCases::new();
t.pass("tests/trybuild/main-01-basic.rs");
t.compile_fail("tests/trybuild/main-02-only-async.rs");
t.pass("tests/trybuild/test-01-basic.rs");
t.pass("tests/trybuild/test-02-keep-attrs.rs");
}

View File

@ -0,0 +1,4 @@
#[actix_rt::main]
async fn main() {
println!("Hello world");
}

View File

@ -0,0 +1,4 @@
#[actix_rt::main]
fn main() {
futures::future::ready(()).await
}

View File

@ -0,0 +1,14 @@
error: only async fn is supported
--> $DIR/main-02-only-async.rs:2:1
|
2 | fn main() {
| ^^
error[E0601]: `main` function not found in crate `$CRATE`
--> $DIR/main-02-only-async.rs:1:1
|
1 | / #[actix_rt::main]
2 | | fn main() {
3 | | futures::future::ready(()).await
4 | | }
| |_^ consider adding a `main` function to `$DIR/tests/trybuild/main-02-only-async.rs`

View File

@ -0,0 +1,6 @@
#[actix_rt::test]
async fn my_test() {
assert!(true);
}
fn main() {}

View File

@ -0,0 +1,7 @@
#[actix_rt::test]
#[should_panic]
async fn my_test() {
todo!()
}
fn main() {}

View File

@ -1,10 +1,11 @@
//! A utl-8 encoded read-only string with Bytes as a storage.
//! A UTF-8 encoded read-only string using Bytes as storage.
use std::convert::TryFrom;
use std::{borrow, fmt, hash, ops, str};
use bytes::Bytes;
/// A utf-8 encoded string with [`Bytes`] as a storage.
/// A UTF-8 encoded string with [`Bytes`] as a storage.
///
/// [`Bytes`]: https://docs.rs/bytes/0.5.3/bytes/struct.Bytes.html
#[derive(Clone, Eq, Ord, PartialOrd, Default)]