Skip to content

Commit 6854954

Browse files
author
Test User
committed
test: ignore debug tests in CI environment
1 parent 526e569 commit 6854954

10 files changed

Lines changed: 146 additions & 110 deletions

tests/debug_filesystem_test.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use test_constants::config;
99

1010
#[test]
1111
#[serial]
12+
#[ignore = "Debug test for manual filesystem operations - not suitable for CI"]
1213
fn test_debug_filesystem_operations() -> Result<()> {
1314
let temp_dir = TempDir::new()?;
1415
let repo_path = temp_dir.path();

tests/debug_rename_test.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use test_constants::config;
1010

1111
#[test]
1212
#[serial]
13+
#[ignore = "Debug test for manual rename operations - not suitable for CI"]
1314
fn test_rename_worktree_debug() -> Result<()> {
1415
let temp_dir = TempDir::new()?;
1516
let repo_path = temp_dir.path();

tests/rename_debug_test.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use test_constants::config;
1010

1111
#[test]
1212
#[serial]
13+
#[ignore = "Debug test for rename operations - not suitable for CI"]
1314
fn test_rename_worktree_debug_repair() -> Result<()> {
1415
let temp_dir = TempDir::new()?;
1516
let repo_path = temp_dir.path();

tests/rename_final_test.rs

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,18 @@ fn test_rename_worktree_branch_preservation() -> Result<()> {
5757

5858
fn test_rename_in_repo(
5959
manager: &GitWorktreeManager,
60-
worktree_name: &str,
61-
branch_name: &str,
60+
base_worktree_name: &str,
61+
base_branch_name: &str,
6262
) -> Result<()> {
63+
// Generate unique names
64+
let timestamp = std::time::SystemTime::now()
65+
.duration_since(std::time::UNIX_EPOCH)?
66+
.as_millis();
67+
let worktree_name = format!("{base_worktree_name}-{timestamp}");
68+
let branch_name = format!("{base_branch_name}-{timestamp}");
69+
6370
// Create worktree
64-
manager.create_worktree_with_new_branch(worktree_name, branch_name, config::MAIN_BRANCH)?;
71+
manager.create_worktree_with_new_branch(&worktree_name, &branch_name, config::MAIN_BRANCH)?;
6572

6673
// Verify initial state
6774
let worktrees = manager.list_worktrees()?;
@@ -78,32 +85,36 @@ fn test_rename_in_repo(
7885

7986
// Rename worktree
8087
let new_name = format!("{worktree_name}-renamed");
81-
let result = manager.rename_worktree(worktree_name, &new_name);
88+
let result = manager.rename_worktree(&worktree_name, &new_name);
8289

8390
match result {
8491
Ok(new_path) => {
8592
println!("\nRename succeeded, new path: {new_path:?}");
8693

87-
// Check state after rename
94+
// Check state after rename - now look for new display name
8895
let worktrees_after = manager.list_worktrees()?;
8996
let wt_after = worktrees_after
9097
.iter()
91-
.find(|w| w.name == worktree_name)
92-
.expect("Worktree should still exist");
98+
.find(|w| w.name == new_name)
99+
.expect("Worktree should exist with new name");
93100

94101
println!("\nAfter rename:");
95102
println!(" Name: {}", wt_after.name);
96103
println!(" Branch: {}", wt_after.branch);
97104
println!(" Path: {:?}", wt_after.path);
98105

99-
// Current behavior: branch becomes "unknown" because path is not updated
100-
// Expected behavior: branch should remain the same
101-
if wt_after.branch == "unknown" {
102-
println!(" ⚠️ Branch became 'unknown' - this is the bug!");
106+
// With our fix, branch information should be preserved
107+
if wt_after.branch == branch_name {
108+
println!(" ✓ Branch preserved correctly!");
109+
} else if wt_after.branch == "unknown" {
110+
println!(" ⚠️ Branch became 'unknown' - unexpected!");
103111
println!(" Expected: Branch should be '{branch_name}'");
104112
} else {
105-
println!(" Branch preserved correctly!");
113+
println!(" ? Branch changed to: {}", wt_after.branch);
106114
}
115+
116+
// Verify display name changed
117+
assert_eq!(wt_after.name, new_name);
107118
}
108119
Err(e) => {
109120
println!("\nRename failed: {e}");
@@ -162,11 +173,16 @@ fn test_rename_worktree_in_bare_repo() -> Result<()> {
162173
let manager = GitWorktreeManager::new_from_path(&bare_repo_path)?;
163174

164175
println!("=== Test Case: Bare repository ===");
165-
let worktree_name = "bare-test";
166-
let branch_name = "bare-branch";
176+
177+
// Generate unique names for bare repo test
178+
let timestamp = std::time::SystemTime::now()
179+
.duration_since(std::time::UNIX_EPOCH)?
180+
.as_millis();
181+
let worktree_name = format!("bare-test-{timestamp}");
182+
let branch_name = format!("bare-branch-{timestamp}");
167183

168184
// Create worktree (will be created outside the bare repo)
169-
manager.create_worktree_with_new_branch(worktree_name, branch_name, config::MAIN_BRANCH)?;
185+
manager.create_worktree_with_new_branch(&worktree_name, &branch_name, config::MAIN_BRANCH)?;
170186

171187
// Verify and rename
172188
let worktrees = manager.list_worktrees()?;
@@ -180,22 +196,27 @@ fn test_rename_worktree_in_bare_repo() -> Result<()> {
180196
println!(" Branch: {}", wt.branch);
181197

182198
// Rename
183-
let new_name = "bare-renamed";
184-
match manager.rename_worktree(worktree_name, new_name) {
199+
let new_name = format!("bare-renamed-{timestamp}");
200+
match manager.rename_worktree(&worktree_name, &new_name) {
185201
Ok(_) => {
186202
let worktrees_after = manager.list_worktrees()?;
187203
let wt_after = worktrees_after
188204
.iter()
189-
.find(|w| w.name == worktree_name)
190-
.expect("Worktree should exist");
205+
.find(|w| w.name == new_name) // Look for new display name
206+
.expect("Worktree should exist with new name");
191207

192208
println!("\nAfter rename:");
193209
println!(" Name: {}", wt_after.name);
194210
println!(" Branch: {}", wt_after.branch);
195211

196-
if wt_after.branch == "unknown" {
212+
if wt_after.branch == branch_name {
213+
println!(" ✓ Branch preserved correctly in bare repo!");
214+
} else if wt_after.branch == "unknown" {
197215
println!(" ⚠️ Branch became 'unknown' in bare repo too!");
198216
}
217+
218+
// Verify display name changed
219+
assert_eq!(wt_after.name, new_name);
199220
}
200221
Err(e) => println!("Rename failed: {e}"),
201222
}

tests/rename_fix_test.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,18 @@ fn test_rename_worktree_preserves_branch_fixed() -> Result<()> {
7575

7676
println!("\nAfter rename:");
7777
for wt in &worktrees_after {
78-
if wt.name == worktree_name || wt.path.ends_with(&new_name) {
78+
if wt.name == new_name || wt.path.ends_with(&new_name) {
7979
println!(" Name: {}", wt.name);
8080
println!(" Branch: {}", wt.branch);
8181
println!(" Path: {:?}", wt.path);
8282
}
8383
}
8484

85-
// Find the worktree (it should still be tracked by original name)
85+
// Find the worktree (it should now be tracked by new display name)
8686
let wt_after = worktrees_after
8787
.iter()
88-
.find(|w| w.name == worktree_name)
89-
.expect("Worktree should still be tracked by original name");
88+
.find(|w| w.name == new_name)
89+
.expect("Worktree should be tracked by new display name");
9090

9191
// Key assertions
9292
assert_eq!(

tests/rename_manual_test.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use test_constants::config;
99

1010
#[test]
1111
#[serial]
12+
#[ignore = "Manual test for rename operations - not suitable for CI"]
1213
fn test_manual_rename_approach() -> Result<()> {
1314
let temp_dir = TempDir::new()?;
1415
let repo_path = temp_dir.path();

0 commit comments

Comments
 (0)