Skip to content

Commit df83d28

Browse files
committed
Fix the tests!!!!!
1 parent b73feed commit df83d28

File tree

3 files changed

+29
-96
lines changed

3 files changed

+29
-96
lines changed

crates/gitbutler-core/src/virtual_branches/virtual.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3722,8 +3722,6 @@ pub fn apply<S: AsRef<[u8]>>(base_image: S, patch: &Patch<'_, [u8]>) -> Result<B
37223722
}
37233723
}
37243724

3725-
dbg!(&patch);
3726-
37273725
diffy_apply(base_image.as_ref(), patch)
37283726
.with_context(|| DebugContext {
37293727
base_image_hash: md5_hash_hex(base_image),

crates/gitbutler-core/tests/suite/virtual_branches/apply_virtual_branch.rs

Lines changed: 23 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,5 @@
11
use super::*;
22

3-
#[tokio::test]
4-
async fn deltect_conflict() {
5-
let Test {
6-
repository,
7-
project_id,
8-
controller,
9-
..
10-
} = &Test::default();
11-
12-
controller
13-
.set_base_branch(*project_id, &"refs/remotes/origin/master".parse().unwrap())
14-
.await
15-
.unwrap();
16-
17-
let branch1_id = {
18-
let branch1_id = controller
19-
.create_virtual_branch(*project_id, &branch::BranchCreateRequest::default())
20-
.await
21-
.unwrap();
22-
fs::write(repository.path().join("file.txt"), "branch one").unwrap();
23-
24-
branch1_id
25-
};
26-
27-
// unapply first vbranch
28-
controller
29-
.convert_to_real_branch(*project_id, branch1_id, Default::default())
30-
.await
31-
.unwrap();
32-
33-
{
34-
// create another vbranch that conflicts with the first one
35-
controller
36-
.create_virtual_branch(*project_id, &branch::BranchCreateRequest::default())
37-
.await
38-
.unwrap();
39-
fs::write(repository.path().join("file.txt"), "branch two").unwrap();
40-
}
41-
42-
{
43-
assert!(matches!(
44-
controller
45-
.apply_virtual_branch(*project_id, branch1_id)
46-
.await
47-
.unwrap_err()
48-
.downcast_ref(),
49-
Some(Marker::ProjectConflict)
50-
));
51-
}
52-
}
53-
543
#[tokio::test]
554
async fn rebase_commit() {
565
let Test {
@@ -76,7 +25,7 @@ async fn rebase_commit() {
7625
.await
7726
.unwrap();
7827

79-
let branch1_id = {
28+
let mut branch1_id = {
8029
// create a branch with some commited work
8130
let branch1_id = controller
8231
.create_virtual_branch(*project_id, &branch::BranchCreateRequest::default())
@@ -99,9 +48,9 @@ async fn rebase_commit() {
9948
branch1_id
10049
};
10150

102-
{
51+
let unapplied_branch = {
10352
// unapply first vbranch
104-
controller
53+
let unapplied_branch = controller
10554
.convert_to_real_branch(*project_id, branch1_id, Default::default())
10655
.await
10756
.unwrap();
@@ -116,25 +65,18 @@ async fn rebase_commit() {
11665
);
11766

11867
let (branches, _) = controller.list_virtual_branches(*project_id).await.unwrap();
119-
assert_eq!(branches.len(), 1);
120-
assert_eq!(branches[0].id, branch1_id);
121-
assert_eq!(branches[0].files.len(), 0);
122-
assert_eq!(branches[0].commits.len(), 1);
123-
assert!(!branches[0].active);
124-
}
68+
assert_eq!(branches.len(), 0);
69+
70+
git::Refname::from_str(&unapplied_branch).unwrap()
71+
};
12572

12673
{
12774
// fetch remote
12875
controller.update_base_branch(*project_id).await.unwrap();
12976

13077
// branch is stil unapplied
13178
let (branches, _) = controller.list_virtual_branches(*project_id).await.unwrap();
132-
assert_eq!(branches.len(), 1);
133-
assert_eq!(branches[0].id, branch1_id);
134-
assert_eq!(branches[0].files.len(), 0);
135-
assert_eq!(branches[0].commits.len(), 1);
136-
assert!(!branches[0].active);
137-
assert!(!branches[0].conflicted);
79+
assert_eq!(branches.len(), 0);
13880

13981
assert_eq!(
14082
fs::read_to_string(repository.path().join("another_file.txt")).unwrap(),
@@ -148,8 +90,8 @@ async fn rebase_commit() {
14890

14991
{
15092
// apply first vbranch again
151-
controller
152-
.apply_virtual_branch(*project_id, branch1_id)
93+
branch1_id = controller
94+
.create_virtual_branch_from_branch(*project_id, &unapplied_branch)
15395
.await
15496
.unwrap();
15597

@@ -158,7 +100,7 @@ async fn rebase_commit() {
158100
assert_eq!(branches.len(), 1);
159101
assert_eq!(branches[0].id, branch1_id);
160102
assert_eq!(branches[0].files.len(), 0);
161-
assert_eq!(branches[0].commits.len(), 1);
103+
assert_eq!(branches[0].commits.len(), 2);
162104
assert!(branches[0].active);
163105
assert!(!branches[0].conflicted);
164106

@@ -197,7 +139,7 @@ async fn rebase_work() {
197139
.await
198140
.unwrap();
199141

200-
let branch1_id = {
142+
let mut branch1_id = {
201143
// make a branch with some work
202144
let branch1_id = controller
203145
.create_virtual_branch(*project_id, &branch::BranchCreateRequest::default())
@@ -215,54 +157,47 @@ async fn rebase_work() {
215157
branch1_id
216158
};
217159

218-
{
160+
let unapplied_branch = {
219161
// unapply first vbranch
220-
controller
162+
let unapplied_branch = controller
221163
.convert_to_real_branch(*project_id, branch1_id, Default::default())
222164
.await
223165
.unwrap();
224166

225167
let (branches, _) = controller.list_virtual_branches(*project_id).await.unwrap();
226-
assert_eq!(branches.len(), 1);
227-
assert_eq!(branches[0].id, branch1_id);
228-
assert_eq!(branches[0].files.len(), 1);
229-
assert_eq!(branches[0].commits.len(), 0);
230-
assert!(!branches[0].active);
168+
assert_eq!(branches.len(), 0);
231169

232170
assert!(!repository.path().join("another_file.txt").exists());
233171
assert!(!repository.path().join("file.txt").exists());
234-
}
172+
173+
git::Refname::from_str(&unapplied_branch).unwrap()
174+
};
235175

236176
{
237177
// fetch remote
238178
controller.update_base_branch(*project_id).await.unwrap();
239179

240180
// first branch is stil unapplied
241181
let (branches, _) = controller.list_virtual_branches(*project_id).await.unwrap();
242-
assert_eq!(branches.len(), 1);
243-
assert_eq!(branches[0].id, branch1_id);
244-
assert_eq!(branches[0].files.len(), 1);
245-
assert_eq!(branches[0].commits.len(), 0);
246-
assert!(!branches[0].active);
247-
assert!(!branches[0].conflicted);
182+
assert_eq!(branches.len(), 0);
248183

249184
assert!(!repository.path().join("another_file.txt").exists());
250185
assert!(repository.path().join("file.txt").exists());
251186
}
252187

253188
{
254189
// apply first vbranch again
255-
controller
256-
.apply_virtual_branch(*project_id, branch1_id)
190+
branch1_id = controller
191+
.create_virtual_branch_from_branch(*project_id, &unapplied_branch)
257192
.await
258193
.unwrap();
259194

260195
// workdir should be rebased, and work should be restored
261196
let (branches, _) = controller.list_virtual_branches(*project_id).await.unwrap();
262197
assert_eq!(branches.len(), 1);
263198
assert_eq!(branches[0].id, branch1_id);
264-
assert_eq!(branches[0].files.len(), 1);
265-
assert_eq!(branches[0].commits.len(), 0);
199+
assert_eq!(branches[0].files.len(), 0);
200+
assert_eq!(branches[0].commits.len(), 1);
266201
assert!(branches[0].active);
267202
assert!(!branches[0].conflicted);
268203

crates/gitbutler-core/tests/suite/virtual_branches/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ async fn resolve_conflict_flow() {
113113
.await
114114
.unwrap();
115115

116-
let mut branch1_id = {
116+
{
117117
// make a branch that conflicts with the remote branch, but doesn't know about it yet
118118
let branch1_id = controller
119119
.create_virtual_branch(*project_id, &branch::BranchCreateRequest::default())
@@ -125,8 +125,6 @@ async fn resolve_conflict_flow() {
125125
assert_eq!(branches.len(), 1);
126126
assert_eq!(branches[0].id, branch1_id);
127127
assert!(branches[0].active);
128-
129-
branch1_id
130128
};
131129

132130
let unapplied_branch = {
@@ -141,9 +139,9 @@ async fn resolve_conflict_flow() {
141139
git::Refname::from_str(&unapplied_branches[0]).unwrap()
142140
};
143141

144-
{
142+
let branch1_id = {
145143
// when we apply conflicted branch, it has conflict
146-
branch1_id = controller
144+
let branch1_id = controller
147145
.create_virtual_branch_from_branch(*project_id, &unapplied_branch)
148146
.await
149147
.unwrap();
@@ -159,7 +157,9 @@ async fn resolve_conflict_flow() {
159157
fs::read_to_string(repository.path().join("file.txt")).unwrap(),
160158
"<<<<<<< ours\nconflict\n=======\nsecond\n>>>>>>> theirs\n"
161159
);
162-
}
160+
161+
branch1_id
162+
};
163163

164164
{
165165
// can't commit conflicts

0 commit comments

Comments
 (0)