pub struct BinaryBenchmarkConfig {
pub current_dir: Option<PathBuf>,
pub default_tool: Option<ValgrindTool>,
pub env_clear: Option<bool>,
pub envs: Vec<(OsString, Option<OsString>)>,
pub exit_with: Option<ExitWith>,
pub output_format: Option<OutputFormat>,
pub sandbox: Option<Sandbox>,
pub setup_parallel: Option<bool>,
pub tools: Tools,
pub tools_override: Option<Tools>,
pub valgrind_args: RawArgs,
}
api
only.Expand description
The model for the configuration in binary benchmarks
This is the configuration which is built from the configuration of the UI and for internal use only.
Fields§
§current_dir: Option<PathBuf>
If some, set the the working directory of the benchmarked binary to this path
default_tool: Option<ValgrindTool>
The valgrind tool to run instead of the default callgrind
env_clear: Option<bool>
True if the environment variables should be cleared
envs: Vec<(OsString, Option<OsString>)>
The environment variables to set or pass through to the binary
exit_with: Option<ExitWith>
The ExitWith
to set the expected exit code/signal of the benchmarked binary
output_format: Option<OutputFormat>
The configuration of the output format
sandbox: Option<Sandbox>
Run the benchmarked binary in a Sandbox
or not
setup_parallel: Option<bool>
Run the setup
function parallel to the benchmarked binary
tools: Tools
The valgrind tools to run in addition to the default tool
tools_override: Option<Tools>
The tool override at this configuration level
valgrind_args: RawArgs
The arguments to pass to all tools
Implementations§
Source§impl BinaryBenchmarkConfig
impl BinaryBenchmarkConfig
Sourcepub fn update_from_all<'a, T>(self, others: T) -> Selfwhere
T: IntoIterator<Item = Option<&'a Self>>,
pub fn update_from_all<'a, T>(self, others: T) -> Selfwhere
T: IntoIterator<Item = Option<&'a Self>>,
Update this configuration with all other configurations in the given order
Sourcepub fn resolve_envs(&self) -> Vec<(OsString, OsString)>
pub fn resolve_envs(&self) -> Vec<(OsString, OsString)>
Resolve the environment variables and create key, value pairs out of them
This is done especially for pass-through environment variables which have a None
value at
first.
Sourcepub fn collect_envs(&self) -> Vec<(OsString, OsString)>
pub fn collect_envs(&self) -> Vec<(OsString, OsString)>
Collect all environment variables which don’t have a None
value
Pass-through variables have a None
value.
Trait Implementations§
Source§impl Clone for BinaryBenchmarkConfig
impl Clone for BinaryBenchmarkConfig
Source§fn clone(&self) -> BinaryBenchmarkConfig
fn clone(&self) -> BinaryBenchmarkConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for BinaryBenchmarkConfig
impl Debug for BinaryBenchmarkConfig
Source§impl Default for BinaryBenchmarkConfig
impl Default for BinaryBenchmarkConfig
Source§fn default() -> BinaryBenchmarkConfig
fn default() -> BinaryBenchmarkConfig
Source§impl<'de> Deserialize<'de> for BinaryBenchmarkConfig
impl<'de> Deserialize<'de> for BinaryBenchmarkConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for BinaryBenchmarkConfig
impl PartialEq for BinaryBenchmarkConfig
Source§impl Serialize for BinaryBenchmarkConfig
impl Serialize for BinaryBenchmarkConfig
impl StructuralPartialEq for BinaryBenchmarkConfig
Auto Trait Implementations§
impl Freeze for BinaryBenchmarkConfig
impl RefUnwindSafe for BinaryBenchmarkConfig
impl Send for BinaryBenchmarkConfig
impl Sync for BinaryBenchmarkConfig
impl Unpin for BinaryBenchmarkConfig
impl UnwindSafe for BinaryBenchmarkConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more