12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- //! 需要测试的时候可以在这里写测试代码,
- //! 然后在当前目录执行 `cargo expand --bin unified-init-expand`
- //! 就可以看到把proc macro展开后的代码了
- #![no_std]
- fn main() {
- todo!()
- }
- #[cfg(target_os = "none")]
- #[panic_handler]
- #[no_mangle]
- pub fn panic(_info: &core::panic::PanicInfo) -> ! {
- loop {}
- }
- #[cfg(test)]
- mod tests {
- use system_error::SystemError;
- use unified_init::define_unified_initializer_slice;
- use unified_init_macros::unified_init;
- use super::*;
- #[test]
- fn no_element() {
- define_unified_initializer_slice!(TEST_0);
- assert_eq!(TEST_0.len(), 0);
- }
- #[test]
- fn no_element_ne() {
- define_unified_initializer_slice!(TEST_0_NE);
- #[unified_init(TEST_0_NE)]
- fn x() -> Result<(), SystemError> {
- todo!()
- }
- assert_ne!(TEST_0_NE.len(), 0);
- }
- #[test]
- fn one_element() {
- define_unified_initializer_slice!(TEST_1);
- #[unified_init(TEST_1)]
- fn x() -> Result<(), SystemError> {
- todo!()
- }
- assert_eq!(TEST_1.len(), 1);
- }
- #[test]
- fn two_elements() {
- define_unified_initializer_slice!(TEST_2);
- #[unified_init(TEST_2)]
- fn x() -> Result<(), SystemError> {
- todo!()
- }
- #[unified_init(TEST_2)]
- fn y() -> Result<(), SystemError> {
- todo!()
- }
- assert_eq!(TEST_2.len(), 2);
- }
- }
|