Claude Code + Codex + Gemini 多模型协作工作流系统 ## 核心功能 - 6阶段开发工作流 (/ccg:dev) - 智能路由:前端→Gemini,后端→Codex - Prompt 增强 (Auggie MCP prompt-enhancer) - 双模型代码审查和技术分析 ## 命令列表 - /ccg:dev - 完整开发工作流 - /ccg:frontend - 前端任务 - /ccg:backend - 后端任务 - /ccg:review - 代码审查 - /ccg:analyze - 技术分析 - /ccg:enhance - Prompt 增强 - /ccg:commit - 智能提交 - /ccg:rollback - 交互式回滚 - /ccg:clean-branches - 清理分支 - /ccg:worktree - Worktree 管理 - /ccg:init - 项目初始化 ## 特性 - 预编译二进制(无需 Go 环境) - 专家系统提示词(Codex/Gemini) - 一键安装脚本
40 lines
775 B
Go
40 lines
775 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestLogWriterWriteLimitsBuffer(t *testing.T) {
|
|
defer resetTestHooks()
|
|
|
|
logger, err := NewLogger()
|
|
if err != nil {
|
|
t.Fatalf("NewLogger error: %v", err)
|
|
}
|
|
setLogger(logger)
|
|
defer closeLogger()
|
|
|
|
lw := newLogWriter("P:", 10)
|
|
_, _ = lw.Write([]byte(strings.Repeat("a", 100)))
|
|
|
|
if lw.buf.Len() != 10 {
|
|
t.Fatalf("logWriter buffer len=%d, want %d", lw.buf.Len(), 10)
|
|
}
|
|
if !lw.dropped {
|
|
t.Fatalf("expected logWriter to drop overlong line bytes")
|
|
}
|
|
|
|
lw.Flush()
|
|
logger.Flush()
|
|
data, err := os.ReadFile(logger.Path())
|
|
if err != nil {
|
|
t.Fatalf("ReadFile error: %v", err)
|
|
}
|
|
if !strings.Contains(string(data), "P:aaaaaaa...") {
|
|
t.Fatalf("log output missing truncated entry, got %q", string(data))
|
|
}
|
|
}
|
|
|