Struct emjudge_judgecore::test::StandardTester
source · pub struct StandardTester { /* private fields */ }
Implementations§
source§impl StandardTester
impl StandardTester
sourcepub fn new(
test_runner: &StandardRunner,
eval_runner: &StandardRunner,
exe_test_script: &Vec<u8>,
exe_eval_script: &Vec<u8>
) -> Self
pub fn new( test_runner: &StandardRunner, eval_runner: &StandardRunner, exe_test_script: &Vec<u8>, exe_eval_script: &Vec<u8> ) -> Self
Examples found in repository?
examples/test_aplusb.rs (line 27)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
fn main() {
let settings = settings::Settings::new();
let compiler = compile::Compiler::new(&settings.compile_setting);
let runner = run::StandardRunner::new(&RunSetting{memory_limit_KB: 1024 * 1024, cpu_limit_ms: 10000, dir: settings.run_setting.dir.clone()});
let mut eval_script = vec![];
let mut test_script = vec![];
let mut input = vec![];
let mut output = vec![];
File::open("examples/programs/aplusb/eval.cpp").unwrap().read_to_end(&mut eval_script).unwrap();
File::open("examples/programs/aplusb/main.cpp").unwrap().read_to_end(&mut test_script).unwrap();
File::open("examples/programs/aplusb/in").unwrap().read_to_end(&mut input).unwrap();
File::open("examples/programs/aplusb/out").unwrap().read_to_end(&mut output).unwrap();
println!("Compiling eval...");
let compile_eval = compiler.compile(&String::from("C++"), &eval_script);
println!("Finish");
if let CompileResult::OK(exe_eval) = compile_eval {
println!("Compiling test...");
let compile_test = compiler.compile(&String::from("C++"), &test_script);
println!("Finish");
if let CompileResult::OK(exe_test) = compile_test {
println!("Testing...");
let tester = test::StandardTester::new(&runner, &runner, &exe_test, &exe_eval);
println!("Finish: {:?}", tester.single_test(&input, &output));
}
}
}
sourcepub fn single_test(&self, input: &Vec<u8>, output: &Vec<u8>) -> TestResult
pub fn single_test(&self, input: &Vec<u8>, output: &Vec<u8>) -> TestResult
Examples found in repository?
examples/test_aplusb.rs (line 28)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
fn main() {
let settings = settings::Settings::new();
let compiler = compile::Compiler::new(&settings.compile_setting);
let runner = run::StandardRunner::new(&RunSetting{memory_limit_KB: 1024 * 1024, cpu_limit_ms: 10000, dir: settings.run_setting.dir.clone()});
let mut eval_script = vec![];
let mut test_script = vec![];
let mut input = vec![];
let mut output = vec![];
File::open("examples/programs/aplusb/eval.cpp").unwrap().read_to_end(&mut eval_script).unwrap();
File::open("examples/programs/aplusb/main.cpp").unwrap().read_to_end(&mut test_script).unwrap();
File::open("examples/programs/aplusb/in").unwrap().read_to_end(&mut input).unwrap();
File::open("examples/programs/aplusb/out").unwrap().read_to_end(&mut output).unwrap();
println!("Compiling eval...");
let compile_eval = compiler.compile(&String::from("C++"), &eval_script);
println!("Finish");
if let CompileResult::OK(exe_eval) = compile_eval {
println!("Compiling test...");
let compile_test = compiler.compile(&String::from("C++"), &test_script);
println!("Finish");
if let CompileResult::OK(exe_test) = compile_test {
println!("Testing...");
let tester = test::StandardTester::new(&runner, &runner, &exe_test, &exe_eval);
println!("Finish: {:?}", tester.single_test(&input, &output));
}
}
}
Trait Implementations§
source§impl Clone for StandardTester
impl Clone for StandardTester
source§fn clone(&self) -> StandardTester
fn clone(&self) -> StandardTester
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for StandardTester
impl Debug for StandardTester
source§impl<'de> Deserialize<'de> for StandardTester
impl<'de> Deserialize<'de> for StandardTester
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl RefUnwindSafe for StandardTester
impl Send for StandardTester
impl Sync for StandardTester
impl Unpin for StandardTester
impl UnwindSafe for StandardTester
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
Mutably borrows from an owned value. Read more