feat: release 1.4.0 with isolated upgrades and device discovery

This commit is contained in:
chenmingxuan committed 2026-10-09 15:46:28 +08:00
1 parent a6a3ee2eb0
commit df66897ff4
41 files changed
+1564 -126

No files matched your search

+22 -6
View File
@@ -53,18 +53,18 @@ def repos(tmp_path):
def test_fast_forward_update_preserves_env_and_is_repeatable(repos):
installed, author = repos
assert update.update_source(installed, port=1) == 10
assert update.update_source(installed) == 10
assert (installed / "source.txt").read_text() == "version2"
assert (installed / ".env").read_text() == "secret stays local"
assert git(installed, "rev-parse", "HEAD") == git(author, "rev-parse", "HEAD")
assert update.update_source(installed, port=1) == 0
assert update.update_source(installed) == 0
def test_dirty_checkout_is_preserved(repos):
installed, _ = repos
before = git(installed, "rev-parse", "HEAD")
(installed / "source.txt").write_text("user edits")
assert update.update_source(installed, port=1) == 0
assert update.update_source(installed) == 1
assert git(installed, "rev-parse", "HEAD") == before
assert (installed / "source.txt").read_text() == "user edits"
@@ -77,16 +77,32 @@ def test_diverged_checkout_is_not_merged(repos):
git(installed, "add", "local.txt")
git(installed, "commit", "-m", "local")
before = git(installed, "rev-parse", "HEAD")
assert update.update_source(installed, port=1) == 0
assert update.update_source(installed) == 1
assert git(installed, "rev-parse", "HEAD") == before
def test_zip_install_continues_without_git_mutation(tmp_path, capsys):
assert update.update_source(tmp_path, port=1) == 0
def test_zip_install_fails_without_git_mutation(tmp_path, capsys):
assert update.update_source(tmp_path) == 1
assert not (tmp_path / ".git").exists()
assert "Git" in capsys.readouterr().out
def test_startup_check_reports_update_without_changing_source(repos):
installed, _ = repos
before = git(installed, "rev-parse", "HEAD")
assert update.update_source(installed, check_only=True) == 10
assert git(installed, "rev-parse", "HEAD") == before
assert (installed / "source.txt").read_text() == "version1"
def test_update_fetch_failure_is_not_reported_as_success(repos):
installed, _ = repos
before = git(installed, "rev-parse", "HEAD")
git(installed, "remote", "set-url", "origin", str(installed / "missing-upstream"))
assert update.update_source(installed) == 1
assert git(installed, "rev-parse", "HEAD") == before
def test_codex_refresh_preserves_credentials_restrictions_and_other_settings(tmp_path):
root = tmp_path / "project"
path = tmp_path / "config.toml"