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: ToolsThe valgrind tools to run in addition to the default tool
tools_override: Option<Tools>The tool override at this configuration level
valgrind_args: RawArgsThe 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