comparison tests/test_push_command.py @ 1549:8410a978c650

compathacks: be compatible with upstream 8a0cac20a1ad memfilectx change See hg change 8a0cac20a1ad. Since the interface has changed more than one time, switch to explicit keywords arguments to avoid surprises. Since hgsubversion targets hg >= 3.2.4, drop support for hg 3.0 and 3.1 here.
author Jun Wu <quark@fb.com>
date Tue, 19 Dec 2017 14:29:55 -0800
parents 0ebcc5bbf692
children cff81f35b31e
comparison
equal deleted inserted replaced
1548:7f83be82d03f 1549:8410a978c650
33 def test_cant_push_empty_ctx(self): 33 def test_cant_push_empty_ctx(self):
34 repo = self.repo 34 repo = self.repo
35 def file_callback(repo, memctx, path): 35 def file_callback(repo, memctx, path):
36 if path == 'adding_file': 36 if path == 'adding_file':
37 return compathacks.makememfilectx(repo, 37 return compathacks.makememfilectx(repo,
38 memctx=memctx,
38 path=path, 39 path=path,
39 data='foo', 40 data='foo',
40 islink=False, 41 islink=False,
41 isexec=False, 42 isexec=False,
42 copied=False) 43 copied=False)
59 def test_push_add_of_added_upstream_gives_sane_error(self): 60 def test_push_add_of_added_upstream_gives_sane_error(self):
60 repo = self.repo 61 repo = self.repo
61 def file_callback(repo, memctx, path): 62 def file_callback(repo, memctx, path):
62 if path == 'adding_file': 63 if path == 'adding_file':
63 return compathacks.makememfilectx(repo, 64 return compathacks.makememfilectx(repo,
65 memctx=memctx,
64 path=path, 66 path=path,
65 data='foo', 67 data='foo',
66 islink=False, 68 islink=False,
67 isexec=False, 69 isexec=False,
68 copied=False) 70 copied=False)
107 109
108 def test_cant_push_with_changes(self): 110 def test_cant_push_with_changes(self):
109 repo = self.repo 111 repo = self.repo
110 def file_callback(repo, memctx, path): 112 def file_callback(repo, memctx, path):
111 return compathacks.makememfilectx(repo, 113 return compathacks.makememfilectx(repo,
114 memctx=memctx,
112 path=path, 115 path=path,
113 data='foo', 116 data='foo',
114 islink=False, 117 islink=False,
115 isexec=False, 118 isexec=False,
116 copied=False) 119 copied=False)
192 old_tip = repo['tip'].node() 195 old_tip = repo['tip'].node()
193 expected_parent = repo['default'].node() 196 expected_parent = repo['default'].node()
194 def file_callback(repo, memctx, path): 197 def file_callback(repo, memctx, path):
195 if path == 'adding_file': 198 if path == 'adding_file':
196 return compathacks.makememfilectx(repo, 199 return compathacks.makememfilectx(repo,
200 memctx=memctx,
197 path=path, 201 path=path,
198 data='foo', 202 data='foo',
199 islink=False, 203 islink=False,
200 isexec=False, 204 isexec=False,
201 copied=False) 205 copied=False)
240 old_tip = repo['tip'].node() 244 old_tip = repo['tip'].node()
241 expected_parent = repo['default'].node() 245 expected_parent = repo['default'].node()
242 def file_callback(repo, memctx, path): 246 def file_callback(repo, memctx, path):
243 if path == 'adding_file': 247 if path == 'adding_file':
244 return compathacks.makememfilectx(repo, 248 return compathacks.makememfilectx(repo,
249 memctx=memctx,
245 path=path, 250 path=path,
246 data='foo', 251 data='foo',
247 islink=False, 252 islink=False,
248 isexec=False, 253 isexec=False,
249 copied=False) 254 copied=False)
269 self.assertEqual(tip.branch(), 'default') 274 self.assertEqual(tip.branch(), 'default')
270 275
271 def test_push_two_revs_different_local_branch(self): 276 def test_push_two_revs_different_local_branch(self):
272 def filectxfn(repo, memctx, path): 277 def filectxfn(repo, memctx, path):
273 return compathacks.makememfilectx(repo, 278 return compathacks.makememfilectx(repo,
279 memctx=memctx,
274 path=path, 280 path=path,
275 data=path, 281 data=path,
276 islink=False, 282 islink=False,
277 isexec=False, 283 isexec=False,
278 copied=False) 284 copied=False)
311 old_tip = repo['tip'].node() 317 old_tip = repo['tip'].node()
312 expected_parent = repo['tip'].parents()[0].node() 318 expected_parent = repo['tip'].parents()[0].node()
313 def file_callback(repo, memctx, path): 319 def file_callback(repo, memctx, path):
314 if path == 'adding_file2': 320 if path == 'adding_file2':
315 return compathacks.makememfilectx(repo, 321 return compathacks.makememfilectx(repo,
322 memctx=memctx,
316 path=path, 323 path=path,
317 data='foo2', 324 data='foo2',
318 islink=False, 325 islink=False,
319 isexec=False, 326 isexec=False,
320 copied=False) 327 copied=False)
347 def test_push_to_branch(self, push=True): 354 def test_push_to_branch(self, push=True):
348 repo = self.repo 355 repo = self.repo
349 def file_callback(repo, memctx, path): 356 def file_callback(repo, memctx, path):
350 if path == 'adding_file': 357 if path == 'adding_file':
351 return compathacks.makememfilectx(repo, 358 return compathacks.makememfilectx(repo,
359 memctx=memctx,
352 path=path, 360 path=path,
353 data='foo', 361 data='foo',
354 islink=False, 362 islink=False,
355 isexec=False, 363 isexec=False,
356 copied=False) 364 copied=False)
429 self.test_push_to_default(commit=True) 437 self.test_push_to_default(commit=True)
430 repo = self.repo 438 repo = self.repo
431 def file_callback(repo, memctx, path): 439 def file_callback(repo, memctx, path):
432 if path == 'gamma': 440 if path == 'gamma':
433 return compathacks.makememfilectx(repo, 441 return compathacks.makememfilectx(repo,
442 memctx=memctx,
434 path=path, 443 path=path,
435 data='foo', 444 data='foo',
436 islink=False, 445 islink=False,
437 isexec=True, 446 isexec=True,
438 copied=False) 447 copied=False)
461 self.test_push_to_default(commit=True) 470 self.test_push_to_default(commit=True)
462 repo = self.repo 471 repo = self.repo
463 def file_callback(repo, memctx, path): 472 def file_callback(repo, memctx, path):
464 if path == 'gamma': 473 if path == 'gamma':
465 return compathacks.makememfilectx(repo, 474 return compathacks.makememfilectx(repo,
475 memctx=memctx,
466 path=path, 476 path=path,
467 data='foo', 477 data='foo',
468 islink=True, 478 islink=True,
469 isexec=False, 479 isexec=False,
470 copied=False) 480 copied=False)
491 ['adding_file', 'alpha', 'beta', ]) 501 ['adding_file', 'alpha', 'beta', ])
492 502
493 def file_callback2(repo, memctx, path): 503 def file_callback2(repo, memctx, path):
494 if path == 'gamma': 504 if path == 'gamma':
495 return compathacks.makememfilectx(repo, 505 return compathacks.makememfilectx(repo,
506 memctx=memctx,
496 path=path, 507 path=path,
497 data='a' * 129, 508 data='a' * 129,
498 islink=True, 509 islink=True,
499 isexec=False, 510 isexec=False,
500 copied=False) 511 copied=False)
518 self.assertEqual(tip['gamma'].data(), 'a'*129) 529 self.assertEqual(tip['gamma'].data(), 'a'*129)
519 530
520 def file_callback3(repo, memctx, path): 531 def file_callback3(repo, memctx, path):
521 if path == 'gamma': 532 if path == 'gamma':
522 return compathacks.makememfilectx(repo, 533 return compathacks.makememfilectx(repo,
534 memctx=memctx,
523 path=path, 535 path=path,
524 data='a' * 64 + 'b' * 65, 536 data='a' * 64 + 'b' * 65,
525 islink=True, 537 islink=True,
526 isexec=False, 538 isexec=False,
527 copied=False) 539 copied=False)
553 link=False, expected_flags='x'): 565 link=False, expected_flags='x'):
554 self.test_push_to_default() 566 self.test_push_to_default()
555 repo = self.repo 567 repo = self.repo
556 def file_callback(repo, memctx, path): 568 def file_callback(repo, memctx, path):
557 return compathacks.makememfilectx(repo, 569 return compathacks.makememfilectx(repo,
570 memctx=memctx,
558 path=path, 571 path=path,
559 data='foo', 572 data='foo',
560 islink=link, 573 islink=link,
561 isexec=execute, 574 isexec=execute,
562 copied=False) 575 copied=False)
579 # while we're here, double check pushing an already-executable file 592 # while we're here, double check pushing an already-executable file
580 # works 593 # works
581 repo = self.repo 594 repo = self.repo
582 def file_callback2(repo, memctx, path): 595 def file_callback2(repo, memctx, path):
583 return compathacks.makememfilectx(repo, 596 return compathacks.makememfilectx(repo,
597 memctx=memctx,
584 path=path, 598 path=path,
585 data='bar', 599 data='bar',
586 islink=link, 600 islink=link,
587 isexec=execute, 601 isexec=execute,
588 copied=False) 602 copied=False)
604 self.assertEqual(tip['alpha'].flags(), expected_flags) 618 self.assertEqual(tip['alpha'].flags(), expected_flags)
605 # now test removing the property entirely 619 # now test removing the property entirely
606 repo = self.repo 620 repo = self.repo
607 def file_callback3(repo, memctx, path): 621 def file_callback3(repo, memctx, path):
608 return compathacks.makememfilectx(repo, 622 return compathacks.makememfilectx(repo,
623 memctx=memctx,
609 path=path, 624 path=path,
610 data='bar', 625 data='bar',
611 islink=False, 626 islink=False,
612 isexec=False, 627 isexec=False,
613 copied=False) 628 copied=False)
753 if path == 'adding_file' or path == 'newdir/new_file': 768 if path == 'adding_file' or path == 'newdir/new_file':
754 testData = 'fooFirstFile' 769 testData = 'fooFirstFile'
755 if path == 'newdir/new_file': 770 if path == 'newdir/new_file':
756 testData = 'fooNewFile' 771 testData = 'fooNewFile'
757 return compathacks.makememfilectx(repo, 772 return compathacks.makememfilectx(repo,
773 memctx=memctx,
758 path=path, 774 path=path,
759 data=testData, 775 data=testData,
760 islink=False, 776 islink=False,
761 isexec=False, 777 isexec=False,
762 copied=False) 778 copied=False)