mirror of
https://github.com/fafhrd91/actix-net
synced 2024-11-27 16:52:58 +01:00
add trybuild compile tests
This commit is contained in:
parent
7d0cfe1b4d
commit
4c5568ed70
1
actix-macros/.gitignore
vendored
Normal file
1
actix-macros/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/wip
|
@ -8,7 +8,6 @@ documentation = "https://docs.rs/actix-macros/"
|
|||||||
categories = ["network-programming", "asynchronous"]
|
categories = ["network-programming", "asynchronous"]
|
||||||
license = "MIT/Apache-2.0"
|
license = "MIT/Apache-2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
workspace = ".."
|
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
proc-macro = true
|
proc-macro = true
|
||||||
@ -18,4 +17,7 @@ quote = "1.0.3"
|
|||||||
syn = { version = "^1", features = ["full"] }
|
syn = { version = "^1", features = ["full"] }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
actix-rt = { version = "1.0.0" }
|
actix-rt = "1.0"
|
||||||
|
|
||||||
|
futures = "0.3"
|
||||||
|
trybuild = "1"
|
||||||
|
9
actix-macros/tests/trybuild.rs
Normal file
9
actix-macros/tests/trybuild.rs
Normal 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");
|
||||||
|
}
|
4
actix-macros/tests/trybuild/main-01-basic.rs
Normal file
4
actix-macros/tests/trybuild/main-01-basic.rs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#[actix_rt::main]
|
||||||
|
async fn main() {
|
||||||
|
println!("Hello world");
|
||||||
|
}
|
4
actix-macros/tests/trybuild/main-02-only-async.rs
Normal file
4
actix-macros/tests/trybuild/main-02-only-async.rs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#[actix_rt::main]
|
||||||
|
fn main() {
|
||||||
|
futures::future::ready(()).await
|
||||||
|
}
|
14
actix-macros/tests/trybuild/main-02-only-async.stderr
Normal file
14
actix-macros/tests/trybuild/main-02-only-async.stderr
Normal 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`
|
6
actix-macros/tests/trybuild/test-01-basic.rs
Normal file
6
actix-macros/tests/trybuild/test-01-basic.rs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#[actix_rt::test]
|
||||||
|
async fn my_test() {
|
||||||
|
assert!(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
7
actix-macros/tests/trybuild/test-02-keep-attrs.rs
Normal file
7
actix-macros/tests/trybuild/test-02-keep-attrs.rs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#[actix_rt::test]
|
||||||
|
#[should_panic]
|
||||||
|
async fn my_test() {
|
||||||
|
todo!()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
@ -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::convert::TryFrom;
|
||||||
use std::{borrow, fmt, hash, ops, str};
|
use std::{borrow, fmt, hash, ops, str};
|
||||||
|
|
||||||
use bytes::Bytes;
|
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
|
/// [`Bytes`]: https://docs.rs/bytes/0.5.3/bytes/struct.Bytes.html
|
||||||
#[derive(Clone, Eq, Ord, PartialOrd, Default)]
|
#[derive(Clone, Eq, Ord, PartialOrd, Default)]
|
||||||
|
Loading…
Reference in New Issue
Block a user