diff --git a/Cargo.toml b/Cargo.toml index 824cc9b..82e8504 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,3 +6,8 @@ members = [ [profile.release] panic = "abort" + +[profile.dev] +debug = true # Добавляет флаг `-g` для компилятора; +opt-level = 0 + diff --git a/build_static_docker.sh b/build_static_docker.sh new file mode 100755 index 0000000..872696e --- /dev/null +++ b/build_static_docker.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker run -v $PWD:/volume -w /volume -it clux/muslrust cargo build diff --git a/lib/u_lib/src/contracts/jobs.rs b/lib/u_lib/src/contracts/jobs.rs index 93e8c0b..cb70cbe 100644 --- a/lib/u_lib/src/contracts/jobs.rs +++ b/lib/u_lib/src/contracts/jobs.rs @@ -128,8 +128,7 @@ impl JobOutput { pub fn from_multiline(raw: &String) -> Option { let err_header = JobOutput::create_delim(JobOutput::STDERR); - raw.find(&err_header) - .and(raw.strip_prefix(&JobOutput::create_delim(JobOutput::STDOUT))) + raw.strip_prefix(&JobOutput::create_delim(JobOutput::STDOUT)) .map(|s: &str| { let mut parts = s.split(&err_header) .map(|d| Vec::from(d.trim().as_bytes())) @@ -137,7 +136,7 @@ impl JobOutput { .into_iter(); let mut instance = JobOutput::new(); instance.stdout = parts.next().unwrap(); - instance.stderr = parts.next().unwrap(); + instance.stderr = parts.next().unwrap_or(vec![]); instance }) } diff --git a/test_agent_docker.sh b/test_agent_docker.sh new file mode 100755 index 0000000..45779b5 --- /dev/null +++ b/test_agent_docker.sh @@ -0,0 +1,3 @@ +#!/bin/bash +DOCKER_IF_IP=$(ip address show docker0 | grep "inet " | awk '{print $2}' | cut -d'/' -f1) +docker run --rm -d -v $PWD/target/x86_64-unknown-linux-musl/debug/u_agent:/u_agent centos:7 /u_agent $DOCKER_IF_IP