mirror of
https://github.com/marcoallegretti/karapace.git
synced 2026-03-26 21:43:09 +00:00
chore: remove redundant comments
No behavior changes.
This commit is contained in:
parent
d78a770502
commit
1adeb8febf
2 changed files with 0 additions and 17 deletions
|
|
@ -582,9 +582,7 @@ impl Engine {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Give it a moment to clean up
|
|
||||||
std::thread::sleep(std::time::Duration::from_millis(500));
|
std::thread::sleep(std::time::Duration::from_millis(500));
|
||||||
// Force kill if still running
|
|
||||||
if Path::new(&format!("/proc/{pid}")).exists() {
|
if Path::new(&format!("/proc/{pid}")).exists() {
|
||||||
warn!("process {pid} did not exit after SIGTERM, sending SIGKILL");
|
warn!("process {pid} did not exit after SIGTERM, sending SIGKILL");
|
||||||
// SAFETY: same as above — valid pid and signal.
|
// SAFETY: same as above — valid pid and signal.
|
||||||
|
|
@ -600,7 +598,6 @@ impl Engine {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clean up running marker
|
|
||||||
let running_file = self.layout.env_path(env_id).join(".running");
|
let running_file = self.layout.env_path(env_id).join(".running");
|
||||||
let _ = std::fs::remove_file(running_file);
|
let _ = std::fs::remove_file(running_file);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,6 @@ backend = "mock"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// §11.2: Build → Destroy → Rebuild equality
|
|
||||||
#[test]
|
#[test]
|
||||||
fn build_destroy_rebuild_produces_identical_env_id() {
|
fn build_destroy_rebuild_produces_identical_env_id() {
|
||||||
let store = tempfile::tempdir().unwrap();
|
let store = tempfile::tempdir().unwrap();
|
||||||
|
|
@ -66,7 +65,6 @@ fn build_destroy_rebuild_produces_identical_env_id() {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// §11.2: Multi-environment isolation
|
|
||||||
#[test]
|
#[test]
|
||||||
fn multi_environment_isolation() {
|
fn multi_environment_isolation() {
|
||||||
let store = tempfile::tempdir().unwrap();
|
let store = tempfile::tempdir().unwrap();
|
||||||
|
|
@ -1588,7 +1586,6 @@ fn stop_succeeds_when_metadata_stale_but_running_marker_exists() {
|
||||||
let r = engine.build(&manifest).unwrap();
|
let r = engine.build(&manifest).unwrap();
|
||||||
let env_id = r.identity.env_id.to_string();
|
let env_id = r.identity.env_id.to_string();
|
||||||
|
|
||||||
// Spawn a real sleep process and wait on it later to avoid zombie
|
|
||||||
let mut child = std::process::Command::new("sleep")
|
let mut child = std::process::Command::new("sleep")
|
||||||
.arg("60")
|
.arg("60")
|
||||||
.spawn()
|
.spawn()
|
||||||
|
|
@ -1596,14 +1593,12 @@ fn stop_succeeds_when_metadata_stale_but_running_marker_exists() {
|
||||||
let pid = child.id();
|
let pid = child.id();
|
||||||
let pid_i32 = i32::try_from(pid).expect("pid fits in i32");
|
let pid_i32 = i32::try_from(pid).expect("pid fits in i32");
|
||||||
|
|
||||||
// Leave metadata state as Built but write .running marker with real PID.
|
|
||||||
let env_dir = store.path().join("env").join(&env_id);
|
let env_dir = store.path().join("env").join(&env_id);
|
||||||
fs::create_dir_all(&env_dir).unwrap();
|
fs::create_dir_all(&env_dir).unwrap();
|
||||||
fs::write(env_dir.join(".running"), pid.to_string()).unwrap();
|
fs::write(env_dir.join(".running"), pid.to_string()).unwrap();
|
||||||
|
|
||||||
let result = engine.stop(&env_id);
|
let result = engine.stop(&env_id);
|
||||||
|
|
||||||
// Clean up the real process regardless of result
|
|
||||||
unsafe {
|
unsafe {
|
||||||
libc::kill(pid_i32, libc::SIGKILL);
|
libc::kill(pid_i32, libc::SIGKILL);
|
||||||
}
|
}
|
||||||
|
|
@ -1615,7 +1610,6 @@ fn stop_succeeds_when_metadata_stale_but_running_marker_exists() {
|
||||||
result.err()
|
result.err()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Verify state remains Built
|
|
||||||
let meta = engine.inspect(&env_id).unwrap();
|
let meta = engine.inspect(&env_id).unwrap();
|
||||||
assert_eq!(meta.state, EnvState::Built);
|
assert_eq!(meta.state, EnvState::Built);
|
||||||
}
|
}
|
||||||
|
|
@ -1630,7 +1624,6 @@ fn stop_preserves_frozen_state() {
|
||||||
let r = engine.build(&manifest).unwrap();
|
let r = engine.build(&manifest).unwrap();
|
||||||
let env_id = r.identity.env_id.to_string();
|
let env_id = r.identity.env_id.to_string();
|
||||||
|
|
||||||
// Spawn a real sleep process and wait on it later to avoid zombie
|
|
||||||
let mut child = std::process::Command::new("sleep")
|
let mut child = std::process::Command::new("sleep")
|
||||||
.arg("60")
|
.arg("60")
|
||||||
.spawn()
|
.spawn()
|
||||||
|
|
@ -1638,7 +1631,6 @@ fn stop_preserves_frozen_state() {
|
||||||
let pid = child.id();
|
let pid = child.id();
|
||||||
let pid_i32 = i32::try_from(pid).expect("pid fits in i32");
|
let pid_i32 = i32::try_from(pid).expect("pid fits in i32");
|
||||||
|
|
||||||
// Set metadata to Frozen and write .running marker with real PID.
|
|
||||||
let layout = StoreLayout::new(store.path());
|
let layout = StoreLayout::new(store.path());
|
||||||
let meta_store = karapace_store::MetadataStore::new(layout.clone());
|
let meta_store = karapace_store::MetadataStore::new(layout.clone());
|
||||||
meta_store.update_state(&env_id, EnvState::Frozen).unwrap();
|
meta_store.update_state(&env_id, EnvState::Frozen).unwrap();
|
||||||
|
|
@ -1649,7 +1641,6 @@ fn stop_preserves_frozen_state() {
|
||||||
|
|
||||||
let result = engine.stop(&env_id);
|
let result = engine.stop(&env_id);
|
||||||
|
|
||||||
// Clean up the real process regardless of result
|
|
||||||
unsafe {
|
unsafe {
|
||||||
libc::kill(pid_i32, libc::SIGKILL);
|
libc::kill(pid_i32, libc::SIGKILL);
|
||||||
}
|
}
|
||||||
|
|
@ -1670,21 +1661,18 @@ fn stale_running_marker_cleaned_on_engine_new() {
|
||||||
let store = tempfile::tempdir().unwrap();
|
let store = tempfile::tempdir().unwrap();
|
||||||
let project = tempfile::tempdir().unwrap();
|
let project = tempfile::tempdir().unwrap();
|
||||||
|
|
||||||
// Build an environment so we have an env_dir
|
|
||||||
let engine = Engine::new(store.path());
|
let engine = Engine::new(store.path());
|
||||||
let manifest = write_manifest(project.path(), &mock_manifest(&["git"]));
|
let manifest = write_manifest(project.path(), &mock_manifest(&["git"]));
|
||||||
let result = engine.build(&manifest);
|
let result = engine.build(&manifest);
|
||||||
assert!(result.is_ok());
|
assert!(result.is_ok());
|
||||||
let env_id = result.unwrap().identity.env_id;
|
let env_id = result.unwrap().identity.env_id;
|
||||||
|
|
||||||
// Manually create a stale .running marker (simulates a crash)
|
|
||||||
let env_dir = store.path().join("env").join(&*env_id);
|
let env_dir = store.path().join("env").join(&*env_id);
|
||||||
fs::create_dir_all(&env_dir).unwrap();
|
fs::create_dir_all(&env_dir).unwrap();
|
||||||
let running_marker = env_dir.join(".running");
|
let running_marker = env_dir.join(".running");
|
||||||
fs::write(&running_marker, "stale").unwrap();
|
fs::write(&running_marker, "stale").unwrap();
|
||||||
assert!(running_marker.exists());
|
assert!(running_marker.exists());
|
||||||
|
|
||||||
// Creating a new Engine should clean up the stale marker
|
|
||||||
let _engine2 = Engine::new(store.path());
|
let _engine2 = Engine::new(store.path());
|
||||||
assert!(
|
assert!(
|
||||||
!running_marker.exists(),
|
!running_marker.exists(),
|
||||||
|
|
@ -1692,8 +1680,6 @@ fn stale_running_marker_cleaned_on_engine_new() {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- §7: Disk-full / write-failure simulation ---
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn build_on_readonly_objects_dir_returns_error() {
|
fn build_on_readonly_objects_dir_returns_error() {
|
||||||
if skip_if_root() {
|
if skip_if_root() {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue