mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-24 00:51:19 +00:00
parent
8b2491dfdb
commit
d281623940
4 changed files with 288 additions and 27 deletions
222
run.json
222
run.json
File diff suppressed because one or more lines are too long
82
stages/005-fix_lints@1/diff.patch
Normal file
82
stages/005-fix_lints@1/diff.patch
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
diff --git a/lib/crates/fabro-agent/src/apply_patch.rs b/lib/crates/fabro-agent/src/apply_patch.rs
|
||||
index fb7624160..7e06e6a89 100644
|
||||
--- a/lib/crates/fabro-agent/src/apply_patch.rs
|
||||
+++ b/lib/crates/fabro-agent/src/apply_patch.rs
|
||||
@@ -504,6 +504,7 @@ mod tests {
|
||||
use fabro_llm::types::{
|
||||
ContentPart, FinishReason, Message as LlmMessage, Response, Role, TokenCounts, ToolCall,
|
||||
};
|
||||
+ use tokio::fs;
|
||||
use tokio_util::sync::CancellationToken;
|
||||
|
||||
use super::*;
|
||||
@@ -900,8 +901,10 @@ mod tests {
|
||||
async fn apply_patch_updates_raw_local_file_without_line_number_prefixes() {
|
||||
let dir = tempfile::tempdir().unwrap();
|
||||
let path = dir.path().join("src/lib.rs");
|
||||
- std::fs::create_dir_all(path.parent().unwrap()).unwrap();
|
||||
- std::fs::write(&path, "fn hello() {\n println!(\"old\");\n}\n").unwrap();
|
||||
+ fs::create_dir_all(path.parent().unwrap()).await.unwrap();
|
||||
+ fs::write(&path, "fn hello() {\n println!(\"old\");\n}\n")
|
||||
+ .await
|
||||
+ .unwrap();
|
||||
let env = LocalSandbox::new(dir.path().to_path_buf());
|
||||
let patch = "\
|
||||
*** Begin Patch
|
||||
@@ -919,7 +922,7 @@ mod tests {
|
||||
"Success. Updated the following files:\nM src/lib.rs\n"
|
||||
);
|
||||
assert_eq!(
|
||||
- std::fs::read_to_string(&path).unwrap(),
|
||||
+ fs::read_to_string(&path).await.unwrap(),
|
||||
"fn hello() {\n println!(\"new\");\n}\n"
|
||||
);
|
||||
}
|
||||
@@ -1039,7 +1042,7 @@ mod tests {
|
||||
async fn pure_addition_update_hunk_uses_raw_local_file_text() {
|
||||
let dir = tempfile::tempdir().unwrap();
|
||||
let path = dir.path().join("insert_only.txt");
|
||||
- std::fs::write(&path, "alpha\nomega\n").unwrap();
|
||||
+ fs::write(&path, "alpha\nomega\n").await.unwrap();
|
||||
let env = LocalSandbox::new(dir.path().to_path_buf());
|
||||
let patch = "\
|
||||
*** Begin Patch
|
||||
@@ -1056,7 +1059,7 @@ mod tests {
|
||||
"Success. Updated the following files:\nM insert_only.txt\n"
|
||||
);
|
||||
assert_eq!(
|
||||
- std::fs::read_to_string(&path).unwrap(),
|
||||
+ fs::read_to_string(&path).await.unwrap(),
|
||||
"alpha\nomega\ninserted\n"
|
||||
);
|
||||
}
|
||||
diff --git a/lib/crates/fabro-sandbox/src/docker.rs b/lib/crates/fabro-sandbox/src/docker.rs
|
||||
index c7036687a..60ed3c19b 100644
|
||||
--- a/lib/crates/fabro-sandbox/src/docker.rs
|
||||
+++ b/lib/crates/fabro-sandbox/src/docker.rs
|
||||
@@ -206,6 +206,12 @@ impl DockerSandbox {
|
||||
}
|
||||
|
||||
async fn download_file_bytes(&self, remote_path: &str) -> crate::Result<Vec<u8>> {
|
||||
+ #[expect(
|
||||
+ clippy::disallowed_types,
|
||||
+ reason = "tar entries are synchronous in-memory readers; bytes are collected before any await"
|
||||
+ )]
|
||||
+ use std::io::Read as _;
|
||||
+
|
||||
let container_id = self.container_id()?;
|
||||
let container_path = self.resolve_container_path(remote_path);
|
||||
let opts = DownloadFromContainerOptions {
|
||||
@@ -225,12 +231,6 @@ impl DockerSandbox {
|
||||
archive_bytes.extend_from_slice(&chunk);
|
||||
}
|
||||
|
||||
- #[expect(
|
||||
- clippy::disallowed_types,
|
||||
- reason = "tar entries are synchronous in-memory readers; bytes are collected before any await"
|
||||
- )]
|
||||
- use std::io::Read as _;
|
||||
-
|
||||
let mut archive = tar::Archive::new(Cursor::new(archive_bytes));
|
||||
let entries = archive.entries().map_err(|e| {
|
||||
crate::Error::context(
|
||||
6
stages/005-fix_lints@1/status.json
Normal file
6
stages/005-fix_lints@1/status.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"outcome": "succeeded",
|
||||
"notes": "Stage completed: fix_lints",
|
||||
"failure_reason": null,
|
||||
"timestamp": "2026-05-23T03:03:51.466441Z"
|
||||
}
|
||||
5
stages/006-preflight_lint@2/script_invocation.json
Normal file
5
stages/006-preflight_lint@2/script_invocation.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"script": "cargo +nightly-2026-04-14 clippy -q --workspace --all-targets -- -D warnings 2>&1",
|
||||
"command": "exec 2>&1\ncargo +nightly-2026-04-14 clippy -q --workspace --all-targets -- -D warnings 2>&1",
|
||||
"language": "shell"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue