Skip to content
This repository was archived by the owner on Jan 10, 2024. It is now read-only.

Commit 764cfe2

Browse files
committed
lib: change test to use cargo test structure
1 parent 6124ea0 commit 764cfe2

File tree

1 file changed

+97
-96
lines changed

1 file changed

+97
-96
lines changed

Diff for: src/lib.rs

+97-96
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#![no_std]
1+
#![no_std]
22
#![deny(warnings, unsafe_code, unstable_features)]
33

44
// §3
@@ -32,132 +32,133 @@ const fn eid_from_str(name: &str) -> i32 {
3232
}
3333

3434
/// Checks during compilation, and provides an item list for developers.
35-
mod static_test {
36-
use static_assertions::const_assert_eq as eq;
35+
#[cfg(test)]
36+
mod tests {
37+
use static_assertions::{
38+
assert_eq_align, assert_eq_size, assert_fields, assert_impl_all, const_assert_eq,
39+
};
3740
// §3
38-
mod binary {
39-
use super::eq;
41+
#[test]
42+
fn test_binary() {
4043
use crate::binary::*;
41-
42-
use static_assertions::*;
4344
assert_eq_align!(SbiRet, usize);
4445
assert_eq_size!(SbiRet, [usize; 2]);
4546
assert_fields!(SbiRet: error);
4647
assert_fields!(SbiRet: value);
4748
assert_impl_all!(SbiRet: Copy, Clone, PartialEq, Eq, core::fmt::Debug);
4849

49-
eq!(0, RET_SUCCESS as isize);
50-
eq!(-1, RET_ERR_FAILED as isize);
51-
eq!(-2, RET_ERR_NOT_SUPPORTED as isize);
52-
eq!(-3, RET_ERR_INVALID_PARAM as isize);
53-
eq!(-4, RET_ERR_DENIED as isize);
54-
eq!(-5, RET_ERR_INVALID_ADDRESS as isize);
55-
eq!(-6, RET_ERR_ALREADY_AVAILABLE as isize);
56-
eq!(-7, RET_ERR_ALREADY_STARTED as isize);
57-
eq!(-8, RET_ERR_ALREADY_STOPPED as isize);
50+
const_assert_eq!(0, RET_SUCCESS as isize);
51+
const_assert_eq!(-1, RET_ERR_FAILED as isize);
52+
const_assert_eq!(-2, RET_ERR_NOT_SUPPORTED as isize);
53+
const_assert_eq!(-3, RET_ERR_INVALID_PARAM as isize);
54+
const_assert_eq!(-4, RET_ERR_DENIED as isize);
55+
const_assert_eq!(-5, RET_ERR_INVALID_ADDRESS as isize);
56+
const_assert_eq!(-6, RET_ERR_ALREADY_AVAILABLE as isize);
57+
const_assert_eq!(-7, RET_ERR_ALREADY_STARTED as isize);
58+
const_assert_eq!(-8, RET_ERR_ALREADY_STOPPED as isize);
5859
}
5960
// §4
60-
mod base {
61-
use super::eq;
61+
#[test]
62+
fn test_base() {
6263
use crate::base::*;
63-
eq!(0x10, EID_BASE);
64-
eq!(0, GET_SBI_SPEC_VERSION);
65-
eq!(1, GET_SBI_IMPL_ID);
66-
eq!(2, GET_SBI_IMPL_VERSION);
67-
eq!(3, PROBE_EXTENSION);
68-
eq!(4, GET_MVENDORID);
69-
eq!(5, GET_MARCHID);
70-
eq!(6, GET_MIMPID);
71-
eq!(0, impl_id::BBL);
72-
eq!(1, impl_id::OPEN_SBI);
73-
eq!(2, impl_id::XVISOR);
74-
eq!(3, impl_id::KVM);
75-
eq!(4, impl_id::RUST_SBI);
76-
eq!(5, impl_id::DIOSIX);
77-
eq!(6, impl_id::COFFER);
64+
const_assert_eq!(0x10, EID_BASE);
65+
const_assert_eq!(0, GET_SBI_SPEC_VERSION);
66+
const_assert_eq!(1, GET_SBI_IMPL_ID);
67+
const_assert_eq!(2, GET_SBI_IMPL_VERSION);
68+
const_assert_eq!(3, PROBE_EXTENSION);
69+
const_assert_eq!(4, GET_MVENDORID);
70+
const_assert_eq!(5, GET_MARCHID);
71+
const_assert_eq!(6, GET_MIMPID);
72+
const_assert_eq!(0, impl_id::BBL);
73+
const_assert_eq!(1, impl_id::OPEN_SBI);
74+
const_assert_eq!(2, impl_id::XVISOR);
75+
const_assert_eq!(3, impl_id::KVM);
76+
const_assert_eq!(4, impl_id::RUST_SBI);
77+
const_assert_eq!(5, impl_id::DIOSIX);
78+
const_assert_eq!(6, impl_id::COFFER);
7879
}
7980
// §5
80-
mod legacy {
81-
use super::eq;
81+
#[test]
82+
fn test_legacy() {
8283
use crate::legacy::*;
83-
eq!(0, LEGACY_SET_TIMER);
84-
eq!(1, LEGACY_CONSOLE_PUTCHAR);
85-
eq!(2, LEGACY_CONSOLE_GETCHAR);
86-
eq!(3, LEGACY_CLEAR_IPI);
87-
eq!(4, LEGACY_SEND_IPI);
88-
eq!(5, LEGACY_REMOTE_FENCE_I);
89-
eq!(6, LEGACY_REMOTE_SFENCE_VMA);
90-
eq!(7, LEGACY_REMOTE_SFENCE_VMA_ASID);
91-
eq!(8, LEGACY_SHUTDOWN);
84+
const_assert_eq!(0, LEGACY_SET_TIMER);
85+
const_assert_eq!(1, LEGACY_CONSOLE_PUTCHAR);
86+
const_assert_eq!(2, LEGACY_CONSOLE_GETCHAR);
87+
const_assert_eq!(3, LEGACY_CLEAR_IPI);
88+
const_assert_eq!(4, LEGACY_SEND_IPI);
89+
const_assert_eq!(5, LEGACY_REMOTE_FENCE_I);
90+
const_assert_eq!(6, LEGACY_REMOTE_SFENCE_VMA);
91+
const_assert_eq!(7, LEGACY_REMOTE_SFENCE_VMA_ASID);
92+
const_assert_eq!(8, LEGACY_SHUTDOWN);
9293
}
9394
// §6
94-
mod time {
95-
use super::eq;
95+
#[test]
96+
fn test_time() {
9697
use crate::time::*;
97-
eq!(0x54494D45, EID_TIME);
98-
eq!(0, SET_TIMER);
98+
const_assert_eq!(0x54494D45, EID_TIME);
99+
const_assert_eq!(0, SET_TIMER);
99100
}
100101
// §7
101-
mod spi {
102-
use super::eq;
102+
#[test]
103+
fn test_spi() {
103104
use crate::spi::*;
104-
eq!(0x735049, EID_SPI);
105-
eq!(0, SEND_IPI);
105+
const_assert_eq!(0x735049, EID_SPI);
106+
const_assert_eq!(0, SEND_IPI);
106107
}
107108
// §8
108-
mod rfnc {
109-
use super::eq;
109+
#[test]
110+
fn test_rfnc() {
110111
use crate::rfnc::*;
111-
eq!(0x52464E43, EID_RFNC);
112-
eq!(0, REMOTE_FENCE_I);
113-
eq!(1, REMOTE_SFENCE_VMA);
114-
eq!(2, REMOTE_SFENCE_VMA_ASID);
115-
eq!(3, REMOTE_HFENCE_GVMA_VMID);
116-
eq!(4, REMOTE_HFENCE_GVMA);
117-
eq!(5, REMOTE_HFENCE_VVMA_ASID);
118-
eq!(6, REMOTE_HFENCE_VVMA);
112+
const_assert_eq!(0x52464E43, EID_RFNC);
113+
const_assert_eq!(0, REMOTE_FENCE_I);
114+
const_assert_eq!(1, REMOTE_SFENCE_VMA);
115+
const_assert_eq!(2, REMOTE_SFENCE_VMA_ASID);
116+
const_assert_eq!(3, REMOTE_HFENCE_GVMA_VMID);
117+
const_assert_eq!(4, REMOTE_HFENCE_GVMA);
118+
const_assert_eq!(5, REMOTE_HFENCE_VVMA_ASID);
119+
const_assert_eq!(6, REMOTE_HFENCE_VVMA);
119120
}
120121
// §9
121-
mod hsm {
122-
use super::eq;
122+
#[test]
123+
fn test_hsm() {
123124
use crate::hsm::*;
124-
eq!(0x48534D, EID_HSM);
125-
eq!(0, HART_STATE_STARTED);
126-
eq!(1, HART_STATE_STOPPED);
127-
eq!(2, HART_STATE_START_PENDING);
128-
eq!(3, HART_STATE_STOP_PENDING);
129-
eq!(4, HART_STATE_SUSPENDED);
130-
eq!(5, HART_STATE_SUSPEND_PENDING);
131-
eq!(6, HART_STATE_RESUME_PENDING);
132-
eq!(0x0000_0000, HART_SUSPEND_TYPE_RETENTIVE);
133-
eq!(0x8000_0000, HART_SUSPEND_TYPE_NON_RETENTIVE);
134-
eq!(0, HART_START);
135-
eq!(1, HART_STOP);
136-
eq!(2, HART_GET_STATUS);
137-
eq!(3, HART_SUSPEND);
125+
const_assert_eq!(0x48534D, EID_HSM);
126+
const_assert_eq!(0, HART_STATE_STARTED);
127+
const_assert_eq!(1, HART_STATE_STOPPED);
128+
const_assert_eq!(2, HART_STATE_START_PENDING);
129+
const_assert_eq!(3, HART_STATE_STOP_PENDING);
130+
const_assert_eq!(4, HART_STATE_SUSPENDED);
131+
const_assert_eq!(5, HART_STATE_SUSPEND_PENDING);
132+
const_assert_eq!(6, HART_STATE_RESUME_PENDING);
133+
const_assert_eq!(0x0000_0000, HART_SUSPEND_TYPE_RETENTIVE);
134+
const_assert_eq!(0x8000_0000, HART_SUSPEND_TYPE_NON_RETENTIVE);
135+
const_assert_eq!(0, HART_START);
136+
const_assert_eq!(1, HART_STOP);
137+
const_assert_eq!(2, HART_GET_STATUS);
138+
const_assert_eq!(3, HART_SUSPEND);
138139
}
139140
// §10
140-
mod srst {
141-
use super::eq;
141+
#[test]
142+
fn test_srst() {
142143
use crate::srst::*;
143-
eq!(0x53525354, EID_SRST);
144-
eq!(0, RESET_TYPE_SHUTDOWN);
145-
eq!(1, RESET_TYPE_COLD_REBOOT);
146-
eq!(2, RESET_TYPE_WARM_REBOOT);
147-
eq!(0, RESET_REASON_NO_REASON);
148-
eq!(1, RESET_REASON_SYSTEM_FAILURE);
149-
eq!(0, SYSTEM_RESET);
144+
const_assert_eq!(0x53525354, EID_SRST);
145+
const_assert_eq!(0, RESET_TYPE_SHUTDOWN);
146+
const_assert_eq!(1, RESET_TYPE_COLD_REBOOT);
147+
const_assert_eq!(2, RESET_TYPE_WARM_REBOOT);
148+
const_assert_eq!(0, RESET_REASON_NO_REASON);
149+
const_assert_eq!(1, RESET_REASON_SYSTEM_FAILURE);
150+
const_assert_eq!(0, SYSTEM_RESET);
150151
}
151152
// §11
152-
mod pmu {
153-
use super::eq;
153+
#[test]
154+
fn test_pmu() {
154155
use crate::pmu::*;
155-
eq!(0x504D55, EID_PMU);
156-
eq!(0, PMU_NUM_COUNTERS);
157-
eq!(1, PMU_COUNTER_GET_INFO);
158-
eq!(2, PMU_COUNTER_CONFIG_MATCHING);
159-
eq!(3, PMU_COUNTER_START);
160-
eq!(4, PMU_COUNTER_STOP);
161-
eq!(5, PMU_COUNTER_FW_READ);
156+
const_assert_eq!(0x504D55, EID_PMU);
157+
const_assert_eq!(0, PMU_NUM_COUNTERS);
158+
const_assert_eq!(1, PMU_COUNTER_GET_INFO);
159+
const_assert_eq!(2, PMU_COUNTER_CONFIG_MATCHING);
160+
const_assert_eq!(3, PMU_COUNTER_START);
161+
const_assert_eq!(4, PMU_COUNTER_STOP);
162+
const_assert_eq!(5, PMU_COUNTER_FW_READ);
162163
}
163164
}

0 commit comments

Comments
 (0)