1#![deny(missing_docs)]
23
24pub mod advise;
25pub mod agent;
26pub mod already;
27pub mod ask;
28pub mod blind;
29pub mod blockers;
30pub mod bump;
31pub mod cache;
32pub mod chat_control;
33pub mod chat_notify;
34pub mod chat_watch;
35pub mod clean;
36pub mod conduct;
37pub mod config;
38pub mod consult;
39pub mod daemon;
40pub mod deputy;
41pub mod direct;
42pub mod disk;
43mod driver;
44pub mod dupes;
45pub mod fixer;
46mod fold_evidence;
47pub mod followup;
48pub mod git;
49pub mod github_text;
50pub mod graft;
51pub mod graft_report;
52pub mod graph;
53pub mod handover;
54pub mod land;
55pub mod lang;
56mod lock_file;
57pub mod md;
58pub mod merge_decision;
59pub mod notices;
60pub mod persona;
61pub mod persona_icon;
62mod pr_head;
63pub mod pr_outcome;
64pub mod pr_recovery;
65pub mod proc;
66pub mod prompt;
67pub mod question_delivery;
68pub mod queue;
69pub mod rebase;
70pub mod reconcile;
71pub mod recovery;
72pub mod refs;
73pub mod release_local;
74pub mod release_manifest;
75pub mod release_watch;
76mod repo_lock;
77pub mod report;
78pub mod report_view;
79pub mod repos;
80pub mod retention;
81pub mod review_repair;
82pub mod rng;
83pub mod run;
84pub mod scrub;
85mod seat_process;
86pub mod settings;
87pub mod stats;
88mod stop_reason;
89pub mod talk;
90pub mod task_chat;
91pub mod triage;
92pub mod tui;
93pub mod updater;
94pub mod verdict;
95pub mod waiter;
96pub mod web;
97pub mod worker;
98pub mod worktree_setup;
99
100pub mod choice_effect;
101mod resume;
102
103#[cfg(test)]
106pub(crate) fn standalone_test(name: &str) -> bool {
107 const CHILD: &str = "MAGI_STANDALONE_TEST";
108 if std::env::var(CHILD).as_deref() == Ok(name) {
109 return true;
110 }
111 let output = std::process::Command::new(std::env::current_exe().expect("test executable"))
112 .args(["--exact", name, "--nocapture"])
113 .env(CHILD, name)
114 .env_remove("MAGI_WORKER_ID")
115 .env_remove("MAGI_WORKER_GENERATION")
116 .env_remove("MAGI_WORKER_HOME")
117 .env_remove("MAGI_WORKER_EXE")
118 .output()
119 .expect("standalone test process");
120 assert!(
121 output.status.success() && String::from_utf8_lossy(&output.stdout).contains("1 passed"),
122 "standalone test {name} failed: {}\n{}\n{}",
123 output.status,
124 String::from_utf8_lossy(&output.stdout),
125 String::from_utf8_lossy(&output.stderr)
126 );
127 false
128}