Converted all external tool calling to async
This commit is contained in:
@@ -100,15 +100,7 @@ async fn on_merge_failure_transition(
|
||||
};
|
||||
|
||||
let agent_name = {
|
||||
let agents = match pool.agents.lock() {
|
||||
Ok(a) => a,
|
||||
Err(e) => {
|
||||
slog_warn!(
|
||||
"[merge-failure-sub] Failed to lock agent pool for '{story_id}': {e}"
|
||||
);
|
||||
return;
|
||||
}
|
||||
};
|
||||
let agents = pool.agents.lock().await;
|
||||
if is_story_assigned_for_stage(
|
||||
&config,
|
||||
&agents,
|
||||
@@ -228,7 +220,7 @@ mod tests {
|
||||
);
|
||||
on_merge_failure_transition(&pool, tmp.path(), &fired).await;
|
||||
|
||||
let agents = pool.agents.lock().unwrap();
|
||||
let agents = pool.agents.lock().await;
|
||||
assert!(
|
||||
agents.iter().any(|(key, a)| {
|
||||
key.contains(story_id)
|
||||
@@ -259,7 +251,7 @@ mod tests {
|
||||
// Give the subscriber time to run (it should do nothing).
|
||||
tokio::time::sleep(std::time::Duration::from_millis(100)).await;
|
||||
|
||||
let agents = pool.agents.lock().unwrap();
|
||||
let agents = pool.agents.lock().await;
|
||||
let spawned = agents.iter().any(|(key, a)| {
|
||||
key.contains(story_id)
|
||||
&& a.agent_name == "mergemaster"
|
||||
@@ -287,7 +279,7 @@ mod tests {
|
||||
|
||||
tokio::time::sleep(std::time::Duration::from_millis(100)).await;
|
||||
|
||||
let agents = pool.agents.lock().unwrap();
|
||||
let agents = pool.agents.lock().await;
|
||||
let spawned = agents.iter().any(|(key, a)| {
|
||||
key.contains(story_id)
|
||||
&& a.agent_name == "mergemaster"
|
||||
@@ -315,7 +307,7 @@ mod tests {
|
||||
|
||||
tokio::time::sleep(std::time::Duration::from_millis(100)).await;
|
||||
|
||||
let agents = pool.agents.lock().unwrap();
|
||||
let agents = pool.agents.lock().await;
|
||||
let spawned = agents.iter().any(|(key, a)| {
|
||||
key.contains(story_id)
|
||||
&& a.agent_name == "mergemaster"
|
||||
@@ -343,7 +335,7 @@ mod tests {
|
||||
|
||||
tokio::time::sleep(std::time::Duration::from_millis(100)).await;
|
||||
|
||||
let agents = pool.agents.lock().unwrap();
|
||||
let agents = pool.agents.lock().await;
|
||||
let spawned = agents.iter().any(|(key, a)| {
|
||||
key.contains(story_id)
|
||||
&& a.agent_name == "mergemaster"
|
||||
@@ -374,7 +366,7 @@ mod tests {
|
||||
// First call — spawns mergemaster (agent enters Pending).
|
||||
on_merge_failure_transition(&pool, tmp.path(), &fired).await;
|
||||
{
|
||||
let agents = pool.agents.lock().unwrap();
|
||||
let agents = pool.agents.lock().await;
|
||||
assert!(
|
||||
agents.iter().any(|(key, a)| {
|
||||
key.contains(story_id)
|
||||
@@ -388,7 +380,7 @@ mod tests {
|
||||
// Second call (self-loop) — agent is still Pending; guard must prevent double-spawn.
|
||||
on_merge_failure_transition(&pool, tmp.path(), &fired).await;
|
||||
|
||||
let agents = pool.agents.lock().unwrap();
|
||||
let agents = pool.agents.lock().await;
|
||||
let active_count = agents
|
||||
.iter()
|
||||
.filter(|(key, a)| {
|
||||
|
||||
Reference in New Issue
Block a user