feat: add ci
This commit is contained in:
parent
54686fc93d
commit
42632f81e4
5 changed files with 38 additions and 6 deletions
26
.github/workflows/ci-tests.yml
vendored
Normal file
26
.github/workflows/ci-tests.yml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
name: Rust
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "main" ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ "main" ]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
RUST_BACKTRACE: full
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
|
- name: Run tests
|
||||||
|
run: cargo test --verbose --all-features --workspace --tests --bins --lib
|
||||||
|
- name: Run doctests
|
||||||
|
run: cargo test --verbose --all-features --workspace --doc
|
|
@ -9,5 +9,10 @@ readme = "README.md"
|
||||||
repository = "https://github.com/D0A1V2I3D/binf"
|
repository = "https://github.com/D0A1V2I3D/binf"
|
||||||
documentation = "https://docs.rs/binf/"
|
documentation = "https://docs.rs/binf/"
|
||||||
|
|
||||||
|
[workspace]
|
||||||
|
members = [
|
||||||
|
"macros"
|
||||||
|
]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
binf_macros = { path = "macros", version = "1.0.1" }
|
binf_macros = { version = "1.0.1" }
|
||||||
|
|
|
@ -3,7 +3,9 @@ use proc_macro::TokenStream;
|
||||||
/// Attribute proc macro that turns a struct into a bitflag
|
/// Attribute proc macro that turns a struct into a bitflag
|
||||||
/// The underlying type of the bitflag is chosen based on the number of fields in the struct
|
/// The underlying type of the bitflag is chosen based on the number of fields in the struct
|
||||||
/// usage:
|
/// usage:
|
||||||
/// ```rust
|
/// ```ignore
|
||||||
|
/// use binf::bitflag;
|
||||||
|
///
|
||||||
/// #[bitflag]
|
/// #[bitflag]
|
||||||
/// pub struct MyBitflag {
|
/// pub struct MyBitflag {
|
||||||
/// a: bool,
|
/// a: bool,
|
||||||
|
|
|
@ -4,8 +4,6 @@ This crate aims to make working with binary/bit flags easier. It also provides a
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pub use binf_macros::*;
|
pub use binf_macros::*;
|
||||||
#[cfg(test)]
|
|
||||||
mod tests;
|
|
||||||
|
|
||||||
/// A trait for types that can be used as bit flags.
|
/// A trait for types that can be used as bit flags.
|
||||||
pub trait BitFlag {
|
pub trait BitFlag {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use crate::*;
|
use binf::*;
|
||||||
|
use binf_macros::*;
|
||||||
|
|
||||||
#[bitflag]
|
#[bitflag]
|
||||||
pub struct Test {
|
pub struct Test {
|
||||||
|
@ -14,7 +15,7 @@ pub struct Test {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn macro_test() {
|
fn macro_test() {
|
||||||
let mut test = Test::new(0b10101010);
|
let test = Test::new(0b10101010);
|
||||||
assert_eq!(test.a(), false);
|
assert_eq!(test.a(), false);
|
||||||
assert_eq!(test.b(), true);
|
assert_eq!(test.b(), true);
|
||||||
assert_eq!(test.c(), false);
|
assert_eq!(test.c(), false);
|
Loading…
Reference in a new issue