///|
pub(all) struct GenerationRecord {
generator : String
seed : Int32
max_nodes : Int32
max_depth : Int32
max_attempts : Int32
construction_attempts : Int32
nodes : Int32
depth : Int32
} derive(Eq, @debug.Debug, ToJson, @json.FromJson)
///|
/// Inputs are embedded in source; this format executes a closed program with empty stdin.
pub(all) struct DifferentialCase {
format_version : Int32
generation : GenerationRecord
source : String
module_source : String
package_source : String
result_protocol : String
configurations : Array[String]
build_timeout_ms : Int32
run_timeout_ms : Int32
injected : Bool
} derive(Eq, @debug.Debug, ToJson, @json.FromJson)
///|
pub(all) struct ProcessEvidence {
command : Command
output : Output
} derive(Eq, @debug.Debug, ToJson, @json.FromJson)
///|
pub(all) struct DifferentialAttempt {
format_version : Int32
purpose : String
source : String
configurations : Array[String]
result_protocol : String
toolchain : ProcessEvidence
platform : ProcessEvidence
injected : Bool
observations : Array[Observation]
comparison : Comparison
} derive(Eq, @debug.Debug, ToJson, @json.FromJson)
///|
pub extend GenerationRecord with Eq::{equal, not_equal}
///|
pub extend GenerationRecord with @debug.Debug::{to_repr}
///|
pub extend GenerationRecord with ToJson::{to_json}
///|
pub extend GenerationRecord with @json.FromJson::{from_json}
///|
pub extend DifferentialCase with Eq::{equal, not_equal}
///|
pub extend DifferentialCase with @debug.Debug::{to_repr}
///|
pub extend DifferentialCase with ToJson::{to_json}
///|
pub extend DifferentialCase with @json.FromJson::{from_json}
///|
pub extend ProcessEvidence with Eq::{equal, not_equal}
///|
pub extend ProcessEvidence with @debug.Debug::{to_repr}
///|
pub extend ProcessEvidence with ToJson::{to_json}
///|
pub extend ProcessEvidence with @json.FromJson::{from_json}
///|
pub extend DifferentialAttempt with Eq::{equal, not_equal}
///|
pub extend DifferentialAttempt with @debug.Debug::{to_repr}
///|
pub extend DifferentialAttempt with ToJson::{to_json}
///|
pub extend DifferentialAttempt with @json.FromJson::{from_json}