Dev merge gfmul and XEX tasks #3

Merged
0xalivecow merged 21 commits from dev into main 2024-10-28 17:45:47 +00:00
2 changed files with 18 additions and 14 deletions
Showing only changes of commit f3e9ded953 - Show all commits

View file

@ -12,7 +12,7 @@ fn main() -> Result<()> {
let json = fs::read_to_string(path_to_workload).unwrap(); let json = fs::read_to_string(path_to_workload).unwrap();
let workload = kauma::utils::parse::parse_json(json)?; let workload = kauma::utils::parse::parse_json(json)?;
let response = kauma::tasks::task_distrubute(&workload); let response = kauma::tasks::task_distrubute(&workload)?;
println!("{}", serde_json::to_string(&response)?); println!("{}", serde_json::to_string(&response)?);
Ok(()) Ok(())

View file

@ -1,11 +1,7 @@
use std::collections::HashMap; use std::collections::HashMap;
use crate::utils::parse::{Responses, Testcase, Testcases}; use crate::utils::parse::{Responses, Testcase, Testcases};
use tasks01::{ use tasks01::{block2poly::block2poly, poly2block::poly2block, sea128::sea128};
block2poly::block2poly,
poly2block::{poly2block},
sea128::sea128,
};
use anyhow::{anyhow, Result}; use anyhow::{anyhow, Result};
use serde_json::{json, Value}; use serde_json::{json, Value};
@ -37,20 +33,24 @@ pub fn task_deploy(testcase: &Testcase) -> Result<Value> {
let json = json!({"output" : result}); let json = json!({"output" : result});
Ok(json) Ok(json)
} }
_ => Err(anyhow!("Fatal. No compatible action found")), _ => Err(anyhow!(
"Fatal. No compatible action found. Json data was {:?}. Arguments were; {:?}",
testcase,
args
)),
} }
} }
pub fn task_distrubute(testcases: &Testcases) -> Responses { pub fn task_distrubute(testcases: &Testcases) -> Result<Responses> {
let mut responses: HashMap<String, Value> = HashMap::new(); let mut responses: HashMap<String, Value> = HashMap::new();
for (id, testcase) in &testcases.testcases { for (id, testcase) in &testcases.testcases {
responses.insert(id.to_owned(), task_deploy(testcase).unwrap()); responses.insert(id.to_owned(), task_deploy(testcase).unwrap());
} }
Responses { Ok(Responses {
responses: responses, responses: responses,
} })
} }
#[cfg(test)] #[cfg(test)]
@ -76,20 +76,22 @@ mod tests {
} }
#[test] #[test]
fn test_task_distribution() { fn test_task_distribution() -> Result<()> {
let json = fs::read_to_string("src/test_json/poly2block_example.json").unwrap(); let json = fs::read_to_string("src/test_json/poly2block_example.json").unwrap();
let parsed = parse_json(json).unwrap(); let parsed = parse_json(json).unwrap();
let expected = json!({ "responses": { "b856d760-023d-4b00-bad2-15d2b6da22fe": {"block": "ARIAAAAAAAAAAAAAAAAAgA=="}}}); let expected = json!({ "responses": { "b856d760-023d-4b00-bad2-15d2b6da22fe": {"block": "ARIAAAAAAAAAAAAAAAAAgA=="}}});
assert_eq!( assert_eq!(
serde_json::to_value(task_distrubute(&parsed)).unwrap(), serde_json::to_value(task_distrubute(&parsed)?).unwrap(),
serde_json::to_value(expected).unwrap() serde_json::to_value(expected).unwrap()
); );
Ok(())
} }
#[test] #[test]
fn test_task_sea128_task_full() { fn test_task_sea128_task_full() -> Result<()> {
let json = fs::read_to_string("src/test_json/sea128.json").unwrap(); let json = fs::read_to_string("src/test_json/sea128.json").unwrap();
let parsed = parse_json(json).unwrap(); let parsed = parse_json(json).unwrap();
@ -105,8 +107,10 @@ mod tests {
}); });
assert_eq!( assert_eq!(
serde_json::to_value(task_distrubute(&parsed)).unwrap(), serde_json::to_value(task_distrubute(&parsed)?).unwrap(),
serde_json::to_value(expected).unwrap() serde_json::to_value(expected).unwrap()
); );
Ok(())
} }
} }