Qualitätsprüfungen und Fehlerpfade härten
Some checks failed
Tests / test (push) Has been cancelled

This commit is contained in:
2026-10-15 10:05:48 +02:00
parent c0498b6935
commit 9dc37d1ece
12 changed files with 2383 additions and 517 deletions

View File

@@ -448,13 +448,12 @@ pub fn run(tool: &str, settings: &crate::workflow::Settings) -> Diagnostic {
|| (tool == "thermals" && text.contains("Messpunkte: 0"))
{
Outcome::Unavailable
} else if peak_temperature(&text)
.map(|v| v >= settings.max_temperature_c)
.unwrap_or(false)
} else if ok
|| peak_temperature(&text)
.map(|v| v >= settings.max_temperature_c)
.unwrap_or(false)
{
Outcome::NeedsReview
} else if ok {
Outcome::NeedsReview
} else {
Outcome::SetupProblem
},

View File

@@ -740,8 +740,8 @@ impl App {
.min_size(egui::vec2(ui.available_width(), 48.0)),
)
.clicked()
&& self.persist()
{
if self.persist() {
let (tx, rx) = mpsc::channel();
self.receiver = Some(rx);
thread::spawn(move || {
@@ -758,7 +758,6 @@ impl App {
});
let _ = tx.send(Work::Power(result));
});
}
}
ui.add_space(16.0);
if !self.station_ready || self.inspection_upload_pending || self.intake_upload_pending || self.flush_pending {

View File

@@ -713,9 +713,12 @@ mod workflow_tests {
use super::*;
#[test]
fn renders_network_password_and_result_states() {
let mut wifi = Wifi::default();
wifi.networks =
parse_networks(":Workshop:AA\\:BB:80:WPA2:wlan0\n*:Guest:CC\\:DD:30:--:wlan0");
let mut wifi = Wifi {
networks: parse_networks(
":Workshop:AA\\:BB:80:WPA2:wlan0\n*:Guest:CC\\:DD:30:--:wlan0",
),
..Default::default()
};
let ctx = egui::Context::default();
for i in 0..4 {
wifi.selected = wifi.networks.get(i % 2).cloned();
@@ -743,9 +746,11 @@ mod workflow_tests {
}
#[test]
fn completion_and_worker_failure_release_busy_state() {
let mut wifi = Wifi::default();
wifi.password = "keep-for-retry".into();
wifi.selected = Some(parse_networks(":Office:AA\\:BB:80:WPA2:wlan7").remove(0));
let mut wifi = Wifi {
password: "keep-for-retry".into(),
selected: Some(parse_networks(":Office:AA\\:BB:80:WPA2:wlan7").remove(0)),
..Default::default()
};
let (tx, rx) = mpsc::channel();
wifi.receiver = Some(rx);
tx.send(Event::Connected(Err("Passwort prüfen".into())))

View File

@@ -880,8 +880,10 @@ mod regression_tests {
}
#[test]
fn invalid_settings_are_rejected() {
let mut s = Settings::default();
s.stress_seconds = 0;
let mut s = Settings {
stress_seconds: 0,
..Default::default()
};
assert!(s.validate().is_err());
s.stress_seconds = 120;
s.max_temperature_c = f64::NAN;