comparison mercurial/testing/storage.py @ 42778:22e74b5aa59d

rawdata: update callers in testing/storage.py We update callers incrementally because this help bisecting failures. This was useful during development, so we expect it might be useful again in the future.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 07 Aug 2019 20:11:12 +0200
parents 6a917075535a
children 268662aac075
comparison
equal deleted inserted replaced
42777:740450677221 42778:22e74b5aa59d
419 419
420 with self.assertRaises(IndexError): 420 with self.assertRaises(IndexError):
421 f.size(i) 421 f.size(i)
422 422
423 self.assertEqual(f.revision(nullid), b'') 423 self.assertEqual(f.revision(nullid), b'')
424 self.assertEqual(f.revision(nullid, raw=True), b'') 424 self.assertEqual(f.rawdata(nullid), b'')
425 425
426 with self.assertRaises(error.LookupError): 426 with self.assertRaises(error.LookupError):
427 f.revision(b'\x01' * 20) 427 f.revision(b'\x01' * 20)
428 428
429 self.assertEqual(f.read(nullid), b'') 429 self.assertEqual(f.read(nullid), b'')
471 471
472 with self.assertRaises(IndexError): 472 with self.assertRaises(IndexError):
473 f.size(1) 473 f.size(1)
474 474
475 self.assertEqual(f.revision(node), fulltext) 475 self.assertEqual(f.revision(node), fulltext)
476 self.assertEqual(f.revision(node, raw=True), fulltext) 476 self.assertEqual(f.rawdata(node), fulltext)
477 477
478 self.assertEqual(f.read(node), fulltext) 478 self.assertEqual(f.read(node), fulltext)
479 479
480 self.assertFalse(f.renamed(node)) 480 self.assertFalse(f.renamed(node))
481 481
543 543
544 with self.assertRaises(IndexError): 544 with self.assertRaises(IndexError):
545 f.size(3) 545 f.size(3)
546 546
547 self.assertEqual(f.revision(node0), fulltext0) 547 self.assertEqual(f.revision(node0), fulltext0)
548 self.assertEqual(f.revision(node0, raw=True), fulltext0) 548 self.assertEqual(f.rawdata(node0), fulltext0)
549 self.assertEqual(f.revision(node1), fulltext1) 549 self.assertEqual(f.revision(node1), fulltext1)
550 self.assertEqual(f.revision(node1, raw=True), fulltext1) 550 self.assertEqual(f.rawdata(node1), fulltext1)
551 self.assertEqual(f.revision(node2), fulltext2) 551 self.assertEqual(f.revision(node2), fulltext2)
552 self.assertEqual(f.revision(node2, raw=True), fulltext2) 552 self.assertEqual(f.rawdata(node2), fulltext2)
553 553
554 with self.assertRaises(error.LookupError): 554 with self.assertRaises(error.LookupError):
555 f.revision(b'\x01' * 20) 555 f.revision(b'\x01' * 20)
556 556
557 self.assertEqual(f.read(node0), fulltext0) 557 self.assertEqual(f.read(node0), fulltext0)
817 # Metadata header isn't recognized when parent isn't nullid. 817 # Metadata header isn't recognized when parent isn't nullid.
818 self.assertEqual(f.size(1), len(stored1)) 818 self.assertEqual(f.size(1), len(stored1))
819 self.assertEqual(f.size(2), len(fulltext2)) 819 self.assertEqual(f.size(2), len(fulltext2))
820 820
821 self.assertEqual(f.revision(node1), stored1) 821 self.assertEqual(f.revision(node1), stored1)
822 self.assertEqual(f.revision(node1, raw=True), stored1) 822 self.assertEqual(f.rawdata(node1), stored1)
823 self.assertEqual(f.revision(node2), stored2) 823 self.assertEqual(f.revision(node2), stored2)
824 self.assertEqual(f.revision(node2, raw=True), stored2) 824 self.assertEqual(f.rawdata(node2), stored2)
825 825
826 self.assertEqual(f.read(node1), fulltext1) 826 self.assertEqual(f.read(node1), fulltext1)
827 self.assertEqual(f.read(node2), fulltext2) 827 self.assertEqual(f.read(node2), fulltext2)
828 828
829 # Returns False when first parent is set. 829 # Returns False when first parent is set.
860 self.assertEqual(f.size(0), len(fulltext0) + 4) 860 self.assertEqual(f.size(0), len(fulltext0) + 4)
861 861
862 self.assertEqual(f.size(1), len(fulltext1)) 862 self.assertEqual(f.size(1), len(fulltext1))
863 863
864 self.assertEqual(f.revision(node0), stored0) 864 self.assertEqual(f.revision(node0), stored0)
865 self.assertEqual(f.revision(node0, raw=True), stored0) 865 self.assertEqual(f.rawdata(node0), stored0)
866 866
867 self.assertEqual(f.revision(node1), stored1) 867 self.assertEqual(f.revision(node1), stored1)
868 self.assertEqual(f.revision(node1, raw=True), stored1) 868 self.assertEqual(f.rawdata(node1), stored1)
869 869
870 self.assertEqual(f.read(node0), fulltext0) 870 self.assertEqual(f.read(node0), fulltext0)
871 self.assertEqual(f.read(node1), fulltext1) 871 self.assertEqual(f.read(node1), fulltext1)
872 872
873 self.assertFalse(f.cmp(node0, fulltext0)) 873 self.assertFalse(f.cmp(node0, fulltext0))
894 894
895 # revision() raises since it performs hash verification. 895 # revision() raises since it performs hash verification.
896 with self.assertRaises(error.StorageError): 896 with self.assertRaises(error.StorageError):
897 f.revision(node1) 897 f.revision(node1)
898 898
899 # raw=True still verifies because there are no special storage 899 # rawdata() still verifies because there are no special storage
900 # settings. 900 # settings.
901 with self.assertRaises(error.StorageError): 901 with self.assertRaises(error.StorageError):
902 f.revision(node1, raw=True) 902 f.rawdata(node1)
903 903
904 # read() behaves like revision(). 904 # read() behaves like revision().
905 with self.assertRaises(error.StorageError): 905 with self.assertRaises(error.StorageError):
906 f.read(node1) 906 f.read(node1)
907 907
908 # We can't test renamed() here because some backends may not require 908 # We can't test renamed() here because some backends may not require
909 # reading/validating the fulltext to return rename metadata. 909 # reading/validating the fulltext to return rename metadata.
910 910
911 def testbadnoderevisionraw(self): 911 def testbadnoderevisionraw(self):
912 # Like above except we test revision(raw=True) first to isolate 912 # Like above except we test rawdata() first to isolate
913 # revision caching behavior. 913 # revision caching behavior.
914 f = self._makefilefn() 914 f = self._makefilefn()
915 915
916 fulltext0 = b'foo\n' * 30 916 fulltext0 = b'foo\n' * 30
917 fulltext1 = fulltext0 + b'bar\n' 917 fulltext1 = fulltext0 + b'bar\n'
922 922
923 self._addrawrevisionfn(f, tr, node1, node0, nullid, 1, 923 self._addrawrevisionfn(f, tr, node1, node0, nullid, 1,
924 rawtext=fulltext1) 924 rawtext=fulltext1)
925 925
926 with self.assertRaises(error.StorageError): 926 with self.assertRaises(error.StorageError):
927 f.revision(node1, raw=True) 927 f.rawdata(node1)
928 928
929 with self.assertRaises(error.StorageError): 929 with self.assertRaises(error.StorageError):
930 f.revision(node1, raw=True) 930 f.rawdata(node1)
931 931
932 def testbadnoderevisionraw(self): 932 def testbadnoderevisionraw(self):
933 # Like above except we test read() first to isolate revision caching 933 # Like above except we test read() first to isolate revision caching
934 # behavior. 934 # behavior.
935 f = self._makefilefn() 935 f = self._makefilefn()
1000 1000
1001 with self.assertRaises(error.CensoredNodeError): 1001 with self.assertRaises(error.CensoredNodeError):
1002 f.revision(1) 1002 f.revision(1)
1003 1003
1004 with self.assertRaises(error.CensoredNodeError): 1004 with self.assertRaises(error.CensoredNodeError):
1005 f.revision(1, raw=True) 1005 f.rawdata(1)
1006 1006
1007 with self.assertRaises(error.CensoredNodeError): 1007 with self.assertRaises(error.CensoredNodeError):
1008 f.read(1) 1008 f.read(1)
1009 1009
1010 def testcensoredrawrevision(self): 1010 def testcensoredrawrevision(self):
1011 # Like above, except we do the revision(raw=True) request first to 1011 # Like above, except we do the rawdata() request first to
1012 # isolate revision caching behavior. 1012 # isolate revision caching behavior.
1013 1013
1014 f = self._makefilefn() 1014 f = self._makefilefn()
1015 1015
1016 stored1 = storageutil.packmeta({ 1016 stored1 = storageutil.packmeta({
1025 1025
1026 self._addrawrevisionfn(f, tr, node1, node0, nullid, 1, stored1, 1026 self._addrawrevisionfn(f, tr, node1, node0, nullid, 1, stored1,
1027 censored=True) 1027 censored=True)
1028 1028
1029 with self.assertRaises(error.CensoredNodeError): 1029 with self.assertRaises(error.CensoredNodeError):
1030 f.revision(1, raw=True) 1030 f.rawdata(1)
1031 1031
1032 class ifilemutationtests(basetestcase): 1032 class ifilemutationtests(basetestcase):
1033 """Generic tests for the ifilemutation interface. 1033 """Generic tests for the ifilemutation interface.
1034 1034
1035 All file storage backends that support writing should conform to this 1035 All file storage backends that support writing should conform to this