Struct ring::test::TestCase

source ·
pub struct TestCase {
    attributes: Vec<(String, String, bool)>,
}
Expand description

A test case. A test case consists of a set of named attributes. Every attribute in the test case must be consumed exactly once; this helps catch typos and omissions.

Requires the alloc default feature to be enabled.

Fields§

§attributes: Vec<(String, String, bool)>

Implementations§

source§

impl TestCase

source

pub fn consume_bool(&mut self, key: &str) -> bool

Maps the string “true” to true and the string “false” to false.

source

pub fn consume_digest_alg(&mut self, key: &str) -> Option<&'static Algorithm>

Maps the strings “SHA1”, “SHA256”, “SHA384”, and “SHA512” to digest algorithms, maps “SHA224” to None, and panics on other (erroneous) inputs. “SHA224” is mapped to None because ring intentionally does not support SHA224, but we need to consume test vectors from NIST that have SHA224 vectors in them.

source

pub fn consume_bytes(&mut self, key: &str) -> Vec<u8>

Returns the value of an attribute that is encoded as a sequence of an even number of hex digits, or as a double-quoted UTF-8 string. The empty (zero-length) value is represented as “”.

source

pub fn consume_optional_bytes(&mut self, key: &str) -> Option<Vec<u8>>

Like consume_bytes() except it returns None if the test case doesn’t have the attribute.

source

pub fn consume_usize(&mut self, key: &str) -> usize

Returns the value of an attribute that is an integer, in decimal notation.

source

pub fn consume_usize_bits(&mut self, key: &str) -> BitLength

Returns the value of an attribute that is an integer, in decimal notation, as a bit length.

source

pub fn consume_string(&mut self, key: &str) -> String

Returns the raw value of an attribute, without any unquoting or other interpretation.

source

pub fn consume_optional_string(&mut self, key: &str) -> Option<String>

Like consume_string() except it returns None if the test case doesn’t have the attribute.

Trait Implementations§

source§

impl Debug for TestCase

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.