Implement example control loop

This commit is contained in:
2018-09-26 01:17:50 +02:00
parent 094cb5a3bb
commit 7c4bf22356
4 changed files with 37 additions and 9 deletions

View File

@@ -1,10 +1,12 @@
extern crate benchmark_repository;
extern crate pretty_env_logger;
extern crate yaml_rust;
use benchmark_repository::{BenchmarkRepository, TargetPath};
use std::io::{self, copy};
use std::io::{self, copy, Read};
use std::path::Path;
use yaml_rust::{YamlLoader, YamlEmitter};
fn main()
{
@@ -20,7 +22,26 @@ fn main()
benchmark_repository.commit_files(&files[..], "test-results");*/
let mut file = benchmark_repository.read_file(Path::new("configurations.yml"), "test-config").unwrap();
let content = benchmark_repository.read_file(Path::new("configurations.yml"), "test-config").unwrap();
let configurations = &YamlLoader::load_from_str(&content).unwrap()[0]["configurations"];
copy(&mut file, &mut io::stdout());
let content = benchmark_repository.read_file(Path::new("instances.yml"), "test-config").unwrap();
let instances = &YamlLoader::load_from_str(&content).unwrap()[0];
for configuration in configurations.as_vec().unwrap()
{
for (instance_set_id, instance_set) in instances.as_hash().unwrap()
{
for instance in instance_set.as_vec().unwrap()
{
let configuration_id = configuration["id"].as_str().unwrap();
let instance_set_id = instance_set_id.as_str().unwrap();
let instance_ipc = instance["ipc"].as_str().unwrap();
let instance_domain = instance["domain"].as_str().unwrap();
let instance_number = instance["instance"].as_i64().unwrap();
println!("[{}, {}, {}/{}/{}]", configuration_id, instance_set_id, instance_ipc, instance_domain, instance_number);
}
}
}
}