SMB Server Phase 2: VFS backend build fix + integration test
Some checks failed
Test / build (push) Has been cancelled
Test / test (push) Has been cancelled

- Add VfsFile: Send supertrait for Mutex compatibility
- Fix SmbServerCommand: struct → Subcommand enum with Start variant
- Fix tracing_subscriber::init() → try_init() to avoid panic when
  logger already initialized
- Fix CLI subcommand name: smb-server → smb-start (flatten naming)
- Add #[command(name = "smb-start")] for CLI disambiguation
- Fix unused variable warnings (smb_fs.rs, smb_server_backend.rs)
- Remove unused VfsFile imports (webdav.rs, scp_handler.rs)
- Integration test: Docker smbclient verified (list, upload, read)
This commit is contained in:
Warren
2026-06-20 19:42:29 +08:00
parent 45d050c0b3
commit 7eb528d35f
167 changed files with 59897 additions and 12 deletions

View File

@@ -2925,3 +2925,26 @@ cargo test -p markbase-core --lib # ✅ 157 passed, 0 failed
**最后更新**2026-06-20 14:45
**版本**1.33Web Frontend Phase 3 完成)
---
## SMB Server Phase 2 Build Fix2026-06-20⭐⭐⭐⭐⭐
**完成时间**:约 30 分钟
### 修复内容 ⭐⭐⭐⭐⭐
1. **`VfsFile` trait 添加 `Send` supertrait**`vfs/mod.rs` — 所有实现已经是 `Send`,显式约束无需 unsafe cast
2. **`SmbServerCommand` 改为 enum**`smb_server.rs` — 使用 `#[derive(Subcommand)]` 枚举(`Start` 变体)以兼容 `#[command(flatten)]`
3. **`smb_server_backend.rs` 测试修复**:用 `matches!(result, Err(SmbError::NotFound))` 替代 `result.unwrap_err()` 避免 `Debug` 约束
4. **移除未使用 `VfsFile` import**`webdav.rs` + `scp_handler.rs`
### 验证 ✅
```bash
cargo build -p markbase-core --features smb-server # ✅ 0 error
cargo test -p markbase-core --lib --features smb-server # ✅ 169 passed, 0 failed
cargo build -p markbase-core # ✅ 0 error (no features)
```
**版本**1.34SMB Server Phase 2 Build Fix