* fix:未导入unicode包 * feat:图片异步转换 * feat:添加R2支持 * feat:新增文件管理 * fix:修复错误信息双写导致响应异常 * chore:渠道列表中添加快捷启用停止按钮 * fix:修复模型异常终端导致报错的问题 * improve:优化无可用渠道的日志打印,减少日志污染 * fix:在线体验出错缺少提示信息 * fix:修复日志库问题,只有请求日志保存到独立的库中 * feat:新增阿里图片模型说明文档 * fix:阿里千问图片生成 * fix:修复图片异步控制无效问题 * improve:优化文件展示,支持缩略图查看 * feat:实时监控中添加图片异步转换池状态信息 * improve:优化在线体验页面布局 * fix:修复异步任务状态显示异常问题 * feat:图片异步任务停止时等待任务完成后再退出程序 * chore:调整存储路径 --------- Co-authored-by: qian <wuchengqian5@163.com> Co-authored-by: chengqian <wuchengqian@kkidc.com>
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
package task
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/qianfree/team-api/relay/common"
|
|
)
|
|
|
|
// TestBuildTimeoutFailure_UsesOriginalStatusAsCASPredicate 锁定超时兜底网的回归 bug:
|
|
// UpdateTaskCAS 的 oldStatus 必须是覆盖前的真实状态,而不是已改写的 "FAILURE"。
|
|
func TestBuildTimeoutFailure_UsesOriginalStatusAsCASPredicate(t *testing.T) {
|
|
for _, orig := range []string{"IN_PROGRESS", "QUEUED", "SUBMITTED", "NOT_START"} {
|
|
task := &common.AsyncTask{PublicTaskID: "task_x", Status: orig}
|
|
now := time.Now()
|
|
|
|
oldStatus := buildTimeoutFailure(task, now)
|
|
|
|
if oldStatus != orig {
|
|
t.Fatalf("oldStatus = %q, want %q (must be the pre-mutation status, never \"FAILURE\")", oldStatus, orig)
|
|
}
|
|
if oldStatus == "FAILURE" {
|
|
t.Fatal("regression: oldStatus must not be the mutated FAILURE value")
|
|
}
|
|
if task.Status != "FAILURE" {
|
|
t.Fatalf("task.Status = %q, want FAILURE", task.Status)
|
|
}
|
|
if task.FailReason != "task timed out" {
|
|
t.Fatalf("task.FailReason = %q, want 'task timed out'", task.FailReason)
|
|
}
|
|
if task.FinishTime == nil || !task.FinishTime.Equal(now) {
|
|
t.Fatal("task.FinishTime must be set to now")
|
|
}
|
|
}
|
|
}
|