Skip to content

Commit fbb5aad

Browse files
committed
Remove direct token accessor functions.
Fixes <#121>.
1 parent a8c7f0b commit fbb5aad

File tree

3 files changed

+16
-43
lines changed

3 files changed

+16
-43
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ workspace = { members = [ "xtask" ] }
22

33
[package]
44
name = "amd-apcb"
5-
version = "0.5.1"
5+
version = "0.6.0"
66
authors = ["Oxide Computer"]
77
edition = "2024"
88
license = "MPL-2.0"

src/tests.rs

+15-4
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,7 @@ mod tests {
703703

704704
#[test]
705705
fn insert_tokens() -> Result<(), Error> {
706+
use crate::ByteToken;
706707
let mut buffer: [u8; Apcb::MAX_SIZE] = [0xFF; Apcb::MAX_SIZE];
707708
let mut apcb =
708709
Apcb::create(&mut buffer[0..], 42, &ApcbIoOptions::default())
@@ -803,9 +804,15 @@ mod tests {
803804
assert!(matches!(entries.next(), None));
804805

805806
assert!(matches!(groups.next(), None));
807+
let entry_id = TokenEntryId::Byte;
808+
let token_id = 0xae46_cea4; // FIXME: ByteToken::AblSerialBaudRate as u32 does not work ?!
806809
let tokens =
807810
apcb.tokens(0, BoardInstances::from_instance(0).unwrap()).unwrap();
808-
assert!(tokens.abl_serial_baud_rate().unwrap() == BaudRate::_4800Baud);
811+
812+
assert_eq!(
813+
tokens.get(entry_id, token_id,).unwrap(),
814+
BaudRate::_4800Baud as u32
815+
);
809816

810817
let _tokens = apcb
811818
.tokens_mut(
@@ -823,9 +830,13 @@ mod tests {
823830
None,
824831
)
825832
.unwrap();
826-
assert!(tokens.abl_serial_baud_rate().unwrap() == BaudRate::_4800Baud);
827-
tokens.set_abl_serial_baud_rate(BaudRate::_9600Baud).unwrap();
828-
assert!(tokens.abl_serial_baud_rate().unwrap() == BaudRate::_9600Baud);
833+
assert_eq!(
834+
tokens.get(entry_id, token_id,).unwrap(),
835+
BaudRate::_4800Baud as u32
836+
);
837+
tokens.set(entry_id, token_id, BaudRate::_9600Baud as u32).unwrap();
838+
let value = tokens.get(entry_id, token_id).unwrap();
839+
assert!(value == BaudRate::_9600Baud as u32);
829840
Ok(())
830841
}
831842

src/token_accessors.rs

-38
Original file line numberDiff line numberDiff line change
@@ -303,44 +303,6 @@ macro_rules! make_token_accessors {(
303303
}
304304
}
305305
}
306-
$(
307-
impl<'a, 'b> Tokens<'a, 'b> {
308-
paste! {
309-
#[allow(non_snake_case)]
310-
#[inline]
311-
$getter_vis
312-
fn [<$field_name:snake>] (self: &'_ Self)
313-
-> Result<$field_user_ty>
314-
{
315-
<$field_user_ty>::from_u32(self.get($field_entry_id, $field_key)?).ok_or_else(|| Error::EntryTypeMismatch)
316-
}
317-
}
318-
}
319-
impl<'a, 'b> TokensMut<'a, 'b> {
320-
321-
paste! {
322-
#[allow(non_snake_case)]
323-
#[inline]
324-
$getter_vis
325-
fn [<$field_name:snake>] (self: &'_ Self)
326-
-> Result<$field_user_ty>
327-
{
328-
<$field_user_ty>::from_u32(self.get($field_entry_id, $field_key)?).ok_or_else(|| Error::EntryTypeMismatch)
329-
}
330-
}
331-
$(
332-
paste! {
333-
#[allow(non_snake_case)]
334-
#[inline]
335-
$setter_vis
336-
fn [<set_ $field_name:snake>] (self: &'_ mut Self, value: $field_setter_user_ty) -> Result<()> {
337-
let token_value = value.to_u32().unwrap();
338-
self.set($field_entry_id, $field_key, token_value)
339-
}
340-
}
341-
)?
342-
}
343-
)*
344306
impl $enum_name {
345307
#[allow(unused_variables)]
346308
pub(crate) fn valid_for_abl0_raw(abl0_version: u32, field_key: u32) -> bool {

0 commit comments

Comments
 (0)