f7a720204a
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
44 lines
1.5 KiB
Rust
44 lines
1.5 KiB
Rust
//! Smoke test: starting the app twice with the same binary version
|
|
//! should be a no-op on the second run (version gate skips rewrite).
|
|
|
|
use tempfile::TempDir;
|
|
|
|
#[tokio::test]
|
|
async fn second_start_with_same_version_is_noop() {
|
|
let tmp = TempDir::new().unwrap();
|
|
let data_dir = tmp.path();
|
|
|
|
let first =
|
|
nomifun_extension::materialize_if_needed(data_dir, nomifun_extension::builtin_skills_corpus(), "test-1.0.0")
|
|
.await
|
|
.unwrap();
|
|
assert!(first, "first call should materialize");
|
|
|
|
let second =
|
|
nomifun_extension::materialize_if_needed(data_dir, nomifun_extension::builtin_skills_corpus(), "test-1.0.0")
|
|
.await
|
|
.unwrap();
|
|
assert!(!second, "second call with same version should skip");
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn version_bump_triggers_rewrite() {
|
|
let tmp = TempDir::new().unwrap();
|
|
let data_dir = tmp.path();
|
|
|
|
let first =
|
|
nomifun_extension::materialize_if_needed(data_dir, nomifun_extension::builtin_skills_corpus(), "test-1.0.0")
|
|
.await
|
|
.unwrap();
|
|
assert!(first);
|
|
|
|
let second =
|
|
nomifun_extension::materialize_if_needed(data_dir, nomifun_extension::builtin_skills_corpus(), "test-2.0.0")
|
|
.await
|
|
.unwrap();
|
|
assert!(second, "version change should trigger a fresh materialize");
|
|
|
|
let version = std::fs::read_to_string(data_dir.join("builtin-skills").join(".version")).unwrap();
|
|
assert_eq!(version, "test-2.0.0");
|
|
}
|