[diffoscope] 02/03: difference: Don't truncate diff output by default, and use a separate flag when doing so

Ximin Luo infinity0 at debian.org
Thu Sep 8 16:42:15 CEST 2016


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository diffoscope.

commit 35d48f9d4a61346edf5f82d9dee1ccc4b2d9032d
Author: Ximin Luo <infinity0 at debian.org>
Date:   Thu Sep 8 15:37:19 2016 +0200

    difference: Don't truncate diff output by default, and use a separate flag when doing so
    
    Previously, max-diff-block-lines would also (on top of altering html output)
    interfere with diff's output on a deeper level, hiding it from all presenters.
    This was surprising with --text output since it does not honour max-report-size
    and is meant to be a "pure-by-default" output that shows everything.
    
    So now we move this behaviour to a separate flag, max-diff-block-lines-saved,
    and document it more clearly. Most users should not need this, unless they keep
    running out of memory.
---
 diffoscope/config.py                 |  13 +++
 diffoscope/difference.py             |   4 +-
 diffoscope/main.py                   |   9 ++
 tests/data/ps_internal_expected_diff | 194 ++++++++++++++++++++++++++++++++++-
 tests/test_difference.py             |   2 +-
 5 files changed, 217 insertions(+), 5 deletions(-)

diff --git a/diffoscope/config.py b/diffoscope/config.py
index dbe721f..55b7d04 100644
--- a/diffoscope/config.py
+++ b/diffoscope/config.py
@@ -29,6 +29,7 @@ class Config(object):
     def __init__(self):
         self._max_diff_block_lines = 1024
         self._max_diff_block_lines_parent = 50
+        self._max_diff_block_lines_saved = float("inf")
         self._max_diff_input_lines = 2 ** 20 # GNU diff cannot process arbitrary large files :(
         self._max_report_size = 2000 * 2 ** 10 # 2000 kB
         self._max_report_child_size = 500 * 2 ** 10
@@ -45,6 +46,9 @@ class Config(object):
         if self._max_diff_block_lines < self._max_diff_block_lines_parent:
             raise ValueError("max_diff_block_lines (%s) cannot be smaller than max_diff_block_lines_parent (%s)" %
                 (self._max_diff_block_lines, self._max_diff_block_lines_parent))
+        if self._max_diff_block_lines_saved < self._max_diff_block_lines:
+            raise ValueError("max_diff_block_lines_saved (%s) cannot be smaller than max_diff_block_lines (%s)" %
+                (self._max_diff_block_lines_saved, self._max_diff_block_lines))
 
     @property
     def max_diff_block_lines(self):
@@ -65,6 +69,15 @@ class Config(object):
         self._check_constraints()
 
     @property
+    def max_diff_block_lines_saved(self):
+        return self._max_diff_block_lines_saved
+
+    @max_diff_block_lines_saved.setter
+    def max_diff_block_lines_saved(self, value):
+        self._max_diff_block_lines_saved = value
+        self._check_constraints()
+
+    @property
     def max_diff_input_lines(self):
         return self._max_diff_input_lines
 
diff --git a/diffoscope/difference.py b/diffoscope/difference.py
index 6c63c72..0330515 100644
--- a/diffoscope/difference.py
+++ b/diffoscope/difference.py
@@ -113,7 +113,7 @@ class DiffParser(object):
             else:
                 self._block_len = 1
                 self._direction = line[0]
-            max_lines = Config.general.max_diff_block_lines
+            max_lines = Config.general.max_diff_block_lines_saved
             if self._block_len >= max_lines:
                 return self.skip_block
         else:
@@ -123,7 +123,7 @@ class DiffParser(object):
 
     def skip_block(self, line):
         if self._remaining_hunk_lines == 0 or line[0] != self._direction:
-            removed = self._block_len - Config.general.max_diff_block_lines
+            removed = self._block_len - Config.general.max_diff_block_lines_saved
             if removed:
                 self._diff.write('%s[ %d lines removed ]\n' % (self._direction, removed))
             return self.read_hunk(line)
diff --git a/diffoscope/main.py b/diffoscope/main.py
index 113fdea..dc19a15 100644
--- a/diffoscope/main.py
+++ b/diffoscope/main.py
@@ -100,6 +100,14 @@ def create_parser():
                         '--no-default-limits)',
                         default=Config.general.max_diff_block_lines_parent).completer=RangeCompleter(0,
                         Config.general.max_diff_block_lines_parent, 200)
+    parser.add_argument('--max-diff-block-lines-saved', dest='max_diff_block_lines_saved',
+                        metavar='LINES', type=int,
+                        help='Maximum number of lines saved per diff block. '
+                        'Most users should not need this, unless you run out '
+                        'of memory. This truncates diff(1) output before even '
+                        'trying to emit it in a report; also affects --text '
+                        'output. (0 to disable, default: 0)',
+                        default=0).completer=RangeCompleter(0, 0, 200)
     parser.add_argument('--max-diff-input-lines', dest='max_diff_input_lines',
                         metavar='LINES', type=int,
                         help='Maximum number of lines fed to diff(1). '
@@ -193,6 +201,7 @@ def run_diffoscope(parsed_args):
     maybe_set_limit(Config.general, parsed_args, "max_report_size")
     maybe_set_limit(Config.general, parsed_args, "max_report_child_size")
     # need to set them in this order due to Config._check_constraints
+    maybe_set_limit(Config.general, parsed_args, "max_diff_block_lines_saved")
     maybe_set_limit(Config.general, parsed_args, "max_diff_block_lines_parent")
     maybe_set_limit(Config.general, parsed_args, "max_diff_block_lines")
     maybe_set_limit(Config.general, parsed_args, "max_diff_input_lines")
diff --git a/tests/data/ps_internal_expected_diff b/tests/data/ps_internal_expected_diff
index f0cf9c5..4fe972a 100644
--- a/tests/data/ps_internal_expected_diff
+++ b/tests/data/ps_internal_expected_diff
@@ -97,7 +97,103 @@
 -12C0D6DDD6E89A3BA6468B6322EF1ED480FC2C330B4F75B2FB0D5A087CE736B1
 -4E6BB73F418498D5F66A9DF2917F9F373AA2297896E42772AE3E18655C54F2B8
 -8C06C928783AE7E32CC7F03BDC4066D87357A596FA9B3C3E63A7C479F07E8EA3
--[ 97 lines removed ]
+-E64470B60D44B75B84AAC49B9A6A90B0A4495B1941E759A7CA742F6AD10F9B59
+-C3CDC8D90DAF8986077461DA65D90F77DC54EF0373067DE4140769C6465E94B1
+-5A93BD1623C150EF1EE877962760F05FDC2EC3B6AD34DFD639D65782267E8E51
+-3128B955D4FE716C9A261EEF9C1A0425B819E333CBA03E8D661CF115FB195E7C
+-3DE00E3A29FCCAE10A43014D5BF8AC10D649329CCCC022E606A5A0A1C98CC87E
+-8404F4926454C7DBC47FFF0AC85CC5CF0BDE09CAF9705983A587B32742316AED
+-9FB7B3F3932C95DA1F517990FCB1B4367BCC520C3B289FCC7E35FAC7092AB97B
+-20AA7D44F7766B8BB5A695A267912A438EDB2C736C7BA6755991D3219344B09A
+-A7661BEA37D4837B15B1067B67999997E37D5BD59A5E8B912F8F30F5584EEF58
+-4B46A5B574446C8334CD8BEBA270E9EF0E4F0D7B69C5ED963399EB3291F47F19
+-6748FE7E05B02F79771611D5A3155F3C7701166C8EB0B6A9E9BF359679ECF605
+-96666690AB674AA9346A60C985268D237FAEE252E83674BCDE538254FF6985BE
+-B99D01AC96BEC46E11F65A68C934C671570A5D40B7F3B6A6238EA4EE091F0F64
+-21A37026A09C6904308D106C37021E1141BFB960D819C0CC308C23E08B05AF93
+-163F8C79ADCB215635D473B68803F5BFBA022867E12D1FC895CD7B5EC4B6E52A
+-7491F83160DCC3D9D3277DD9077D5F9814C468D3637034D28CF748A7274C2EDC
+-4EEB95F0EDAF77FE542075A2DF749043F3BBB98C15CB863D46647CAC9E960CB3
+-9CE1ABF3C2425AA7F16E3E3CBFA7B3018334C8DF5FF541A89173AE31944A826E
+-39ED576E7E792D7F9D36520C59DFCEB7C24F8AC9C2A3FFE9F393CC7AE1021180
+-70054C243ADAB55FAD00EDF032E6E6E8B7C49F2CF28600D53EA5CA6B6423D92C
+-9986D30BDC5198A5C3A0604326A47C5BB592E2E8DBF253366475897D14A97E86
+-03912768935539A025637B3F3D941EAB629A97F530C7565657A0C457E350F758
+-CAA0D914C88A74B792EB8BB5DC4904581FA7D87575A3A7CF327BD31EBD45EBFF
+-BD84FA0BF8935D8D49BCFD7E7E0A23C7E7AF6ED4574AE0520EA3E52350A0E872
+-CFFD9E8BD6C54A2B5AEDD65707959C94AC3790EEF76D3F3AC9C795B3ECE17740
+-296FEE99988E871ABB9E905D3283709EA6FD6398A83D1D06B9BA0307C8C9FDBF
+-600845E7463853A60C3FABBF623AAE7F0B3C60777EE935BF70BC156329719515
+-6B1E4BA88A3D8F4BDE985E76372F039DEDB0C26A82C1287AF9CF4ED7AC771B30
+-AE2A5B9C455B5BD57D20D44A808D678A5A5725E20047A0E073B31F0F5CB01928
+-5B3897F78125A366B11B15F77CC4DCBAC194AA69864C3516469D1D7065F1C85F
+-2FC836297170D8C292640F80FBF03EB2590D3A3C150F2C4A36A3F5E26CB86519
+-DF021AA87A10252634CF4EED81FA707075814BCA50E5ED3DB845E4FEBF0884FF
+-81C3E0F0FF74EA455ADD6E2CB74BDFE06A790950E13749FFECD3136903300768
+-78623E5FD0113869FC30A301DBB9899B0980EEF27FF33ACBBE4F1FCD9DB9BF5F
+-2F8D8B0AE7402EF0233CE106F07BA2FFE97C13FF25EE91FEEE3EAAA8DD70B4E5
+-993274D3413EB273A9ED0BD78448C004DAA54B13D64B267422165DCAA8CE8C28
+-5663F4329597EB39163239900E4BAD7DA863D621240BB9E1AD8BB4F87712B83A
+-03E7B361A6BE76EA7E65F8637057B911BD3F8A7CE522C4F741FA3DCA9BEBD325
+-8199920C5A77E117F8475C0158622044C14C8460A0D464B6A5F4290581959836
+-F1EACB72EA9A5C96557C1DBD79110A1FDDC7A829E0918071BC8EE966E8C8132A
+-399AFC5383B8A555A195DE676102B0B9E22A47E0FD79E2C90A6443EC9F49C41E
+-26FA7EBD6D767A197D0D4DF43FE74B9807FF6930C302311C993EBC7D359EBC5C
+-CC672A2E3269DC1588530888A81FA4688A01E64B9D449AB4D916EFA148F06381
+-9927D2E7BE6A6EFA13D225EEB07D81FDB0C9F32CA5537A22EF942AB12F6C71DF
+-B898B0F0045A6DA6E479D42F971B7240FB605F647B41BF8564820F5B568F5341
+-ADFE18CE181F2BA5808C528191E1C8B2AD34B64EC3871D25F39C3E477F543893
+-AC88C9E8E5CCC0403FD08BC1EAD90ACD7490C0A9BB68CBF46867C6475306E731
+-C8D87447F9C2D9A7C482BD520A98175CBC2216D91E29C7CC3F5F15CA343EA6E2
+-7B195DB92B7B0AC8D80D17A04F4745E74CAD0820680A3BF17CDFFDBB859C9B11
+-370D45F29842CD1D54D828C926BC16A6051E2332E8B7A92B269688F11467D65A
+-E4C9049F180AC2DDCFA405A4B74D846F019F8192AD6469A4511965178CC031BC
+-C671E9A543A7967826FD4095A5EFB1DDA14667401768E8B67F4827DC032F69A5
+-33A4B67EBBEA5C7C40DE44A743751A6D9D9D186483BBA665A933061E6D8424FA
+-4D70905203E4AF7ADC2E0832686B7AEC505DCB8A85CBAE00AAF9EF20EAF4C269
+-D872480779CB89F77592555A6ECD8CB98FCCA21BDBEE9F34C5070E89EB9D104E
+-DFADD85269AE7C9F549C12E49641AC656CE39E0E2BDF3BEAD2AB9165670F5435
+-4EDD4DFED6DBD462BD4A96AB063D847463013AC44C0EC3E06E79BB04E035C906
+-21CE50314291838C458655DBFB86DB4C35E2A49B7071DF126CEAC58CBDCAC57D
+-5A4F84266410D98D715EC7C6BEEE7CD453870383664A5DCBF68A2F9922C5657A
+-C822491E464A658EF6FD519F8A7D9F7F373142C83DE8B7379DF7C38DD213FBEB
+-B4FD42A70F5B9D6554AA30AEE1EF6D1A4EB99CE26C93D85975EE1046FC64B730
+-4D5E3C794C801E591978FEBBEE0513909690F1943740FE73E511A02752E9F7BA
+-419A22899376291AEC16C406B58BCAF3ED2316460BFE59B1948D1F6D68C99C22
+-93CA2F47FE17E3295A2DAC9027A0CC40375D60509FF1912ECA1AAFDEF3DDBEAB
+-3D07AEC239ABFC5FF282A8DFED095BCB1A5A205D4828648E9694E35EFBF5EA61
+-8836280FA0E3D038166FF8AE4B869905F61719593DCA9EA78F0AD3F36BEF85F8
+-634366C6A6E66F0B2CAF2BE9024A9F07A03830B7365E7E73BBA4A0E4BF8D96D5
+-27F3FAE60E98699ACCDC3A4DB94FC6D9178F62A212F4354923A9FE165F0127B5
+-EDF8D67EC6E45B4DCE0FF68D69EFB4AEF06AF51FFD8A5796F21C3F38BBE71D4A
+-8624F7E50EE40183B27E7E8B18DFC06CC02DD8B136145BF9A0DE190978C151DE
+-AF9EA9653101E2C59486869F2C0406FA114970533E7EBCA203B12F165F5C2FE3
+-BAC5D8BD676A29B9B39093FECD6FE1359BC30EAF5BEE9E8E2CE6CB9B19A1972C
+-2E0130639FA82166AB75BECDA0748F943BFBADB6C1D7892997735CFF53A96442
+-E7D8C15C5F798DB39A6509A9070FA646AD1F6C6699B1DC2FB188DCF27841AF31
+-E9B33E5512B18DAEA4C13009D1F92E19125993D8FF9644FCAB7414B9C12DF2FD
+-2582BFECE2748197527C72887F1F99A69D53ADAB8B63A1A5E98108903E217EEA
+-883238C475D5F614F12ED200366E4CB6B5F6AA0BB3DC7966C8F53BFF21269EA7
+-3E4298CBBF5D26480B352CC4794FFC86B7BF44ED8428DAE123038AE9562EC04F
+-6B0076BD8DBD24BC330AD9399972A4A946274DAD61A9CD621AD2D5FCB45F0E12
+-31B3A19589BE6B9CEEC530FB1140513DE6235A1ABCE7E5A8800F0282C6C24986
+-878404BE7530ED3C96AF4E6DA0D2CF1DE8465174D15F44D7862A7E3C3CF4FFFA
+-35E934817E2B36D6FECEEB999B16EF4708A9847D91D9713AA964AB7D478E1279
+-C271DBDAEAE17E25066F66DBB2E9E7365AA9BBCCB252B5A64FB861C354F67679
+-0FABE7C1ED3AB761033816D6BB0CB3B1151B38E242B6DEDA236400CA5031FDF2
+-6B5DC7199DB1F96936821C41833A3FDBCCEE2D9B8972EB0EC4EB3D96641AED5E
+-DCA22A1289EE25829AD85161AE66B7FC93FAB4F34050643755FBFB7EFF6C973C
+-F35E6E854758E20AEFFE435C8619AC965398791211854463046528B56391E346
+-88F32602BB7FC9D49DC864D46D2C87BFA05D3879BEB4750E40B6D63D95BE26E2
+-F15B297294F2D05191976FDEE7875AFB62B8A9440A89EFD07EDE787EE2FF7EA0
+-AC68A183CBECFA1D4FBA38E56DC4706628BA076E777D4F0A008BA42216C6D764
+-AC7049319ACADAFEFD29C2A6D33101A11A86C6C3D6C90E61AADD9BA9953AB485
+-2E4D97980DE948833674441085011CCA763F0D567229AE757AF842B3B0D93E10
+-1A3166A10A960A44D18F7A8A6C0E2CB2C0B8589F4E23256FA9B09291CDBC7DCB
+-8E9E2BFB1B0973B9FE24E1C8E120B73F095111BA6DE38E87FF1C3260F551B086
+-1C5BF9EB95B9AD45339406EFF08FDFA1844CD74AC4D4030821694A847954A0A7
+-7D9BBA6F55CC1AB951A815739957D880AF37670B212503106815E2177E710C64
+-829762B16BB57CD6AE5A668289CECFE1072F6D5900DAEEBCF093
 +4B25D6FDDD45956A8ECAC7D4E624353575E13D49DD5AF366220D2AB92888B070
 +2B8643F60A51A6ED31906F0AAE5F86D5AF28522D7DDE76E26C270701183E0047
 +942C30D06D4F9BF3327B9AF9CAFBCA001B7C0328E4C7DB807BBDAD0771EC0FEF
@@ -148,7 +244,101 @@
 +83CD370CE208AAC25A0E32F30EADF2050B71A795EA13A4D07728245BAE9EAAED
 +C600B0EF658DD1A4D02466F90AB4EA0F908B64D5B00832EE12C40DC0B0A5E893
 +4FDB520A423CF5ECC910C11C01905E075CD64CDD83F0A08473FB9DBC1ECE9471
-+[ 95 lines removed ]
++DE4399253D03E14A188BE5141A4062A50486D93EAEC19E116B4B8868053D57D0
++75935171EA1FDAD0E9501C46438C1763EFACA456CD55E427A4B35DDD5758CD18
++F678A95D1852957A849CE61DFCBC439708A42CD21CBCB198B7A370C52111D69B
++EF5C94E4D9D4A04FD82D259DD6DB7156CB5466B191EEE609E483D0012938367F
++3E568AAEFF333C21B11E27911E8A4A15C1DD1640104C322503F37A5A5ECF6980
++EA7317FE6AF1C31BA121A215078860FFF5548ECEC922E75955E8D643E8CE7C64
++24D33213B8D517AC827AE8F7075698E46D7BE31EB6A4CE7C16C4B3BA7A574D04
++3A76B249973D0B9E19C2D340CE23AA1E6D5D83072EB94F3358D7CACE85A35C05
++7F5C92141B37BE3DD8F4ABD4C6C2F2F4496FD3908090F860D09DB32951F54138
++43CC6664B2E25B48CA4AEFECF53BE8B30003C4ADC44AEC249D487AD6D0A02A67
++1001BC44508F84EB15F6BB2E774E3BD6EBCCF6ECB7D5DC0A521A02BD6044AD80
++4A571CEEB648BC7B6201FB42AA8EB8D88C032F6923692D4284A46F3FC0780000
++EC8E85C7D47557C950EA0CA5F1807D0292AB7441F18B999CEEA4EB2712C91D8C
++ADCCD80329CD494C0847D1F16CDE35A06301FFD26A3647271CEAFB80233112D6
++B33DFECEC2256D8744FEB8AD680C4C735A9B08AF8F7757A96B6D8207E75DF7C7
++665356FF04664D3F7F2453F488E11B5810B1EB019DC417AE160647EC43BCD4F1
++091E59E2D9A6DEA764D0D27EC86FFB089A9503D7553371571DBA06CBE97E9A49
++3027E3FEA2442566F2535BCAD5AAF50EEAE27373AF98EFD7ABFF7B8AA3866FB2
++47E94D79476064C6B40073A8076696CA9D12C1AB0579126883B8DD5AB04F805E
++878946C0808216311AB77A0C29FBBC15D8F35C647F3950DE2E0AE28C4B0147F5
++6AA18B3DBAA7CC79FB47976881358B2576FCEB0C9AE72E39865E404E77BC8229
++A810CED272DB3ED593F8A8390B7E572BC156EBDB449F156FD04C715A3040F33F
++F95CE5565495A5978375152F81E7215119A409D7F26568B22C4662A96B02D389
++4FDAE224F3A220F49F8F753BC676AF9517288610DF5FCF72C64977041CCAC8C8
++C110F1B0D5A33FBA3123F08CF4DEFC763916A6DB6D476420CE0E6992C7F0038F
++F519807D39C49D1590493A248E6F095517A2FCCC9DBB56EFEEFDD32C0FB8C9F2
++E4E11CEE209E5F7C13C7D4CF096EA47E012C3FCDF53F52F4F637D7BCEA2A6835
++B660CDFE9AE8E8FCF703BAA08D393AA0BA0A23A9B4D47A1CB2C78E9F8069449A
++723C38CD00FA7659B2409DA3F7C63A78A34E53649E3B1D7183F5780551B0B98F
++F73D42AA13C6FB7B5935A8938A0F5DBE18334BB631F2D5D02C5FA53F8BBC2D30
++7557FC7362F543411DCCA48A24EDFCC4C859D6330A63524DDB0B3CA4D345877D
++CE7EBA6C246542D253A89E1CAA482F2E48AA56435AA133FE758F4BD72875FA57
++09B56EA703211C2D6FB43BBFEEFD7AFB7EB6ACE1CE7CE8C9646142E4B244E66A
++85E4A21021E1BB294A2825E732E9D3531C871D1C63000CEC9C89A53C14764C3B
++E26C58207AAC906CD37142AF5339162727ED8C461C1F820BF97CC3ADD6B2A5D3
++5DEEA6755C401F422475FB6EB91EA078653744D8AB3417DD3F4D52F1B0DB5D68
++B20AE03459A0EF07659E7A90F3D5A1631807C9E9561F4BCFBD5BBF158F301224
++333D08BED33B43D781ED5C07699B9736D92D3B9407789360536D6D1231C4A3F3
++45CC27F8AB92E7A79B2C55DB06808BA42233BB7ABDECCE4958A02CFC4ECFD680
++54BC2D4F39FFF5B35CBD4DC37391A1457D59835B31633807D438D88141DEF145
++C773E93AE5D16E785D10C41EC26695E98A712AF908A0BE226DD0E61A199A22AB
++F47F0398A493991C57FBD364EE10D2D0DF7E2C602B088459F75F394542597F86
++776B8C31F710A1FFA1A8CA2B4877FBE1FC7B6E935403C68352BE2640537BDE9A
++191B86C353DB1793EFB4C3D5673133416041FFBE267A3B386BF7342CD03BC49A
++D9429952D2AF6D0208AEC4035D71CC153B2F53D88DD4933F95AA0ABBCA0769F0
++B85DBC79FB2936DF611E46519A5358FB08E21673F29578CA715F29CB22648A1D
++857741988E315FBE0C08871F4295CE738DE4A8572C9166CDDC3EC808A584DAB4
++664799A9AB516A9F0F51C7364CEDB5525E0CDA9F4B32B895976CC5F4A409D6B3
++E170526A37ADE42FF748B4F5702F0F061F83E586C14533C6AAFB75C42D534C1E
++CED0A6A9BFAA49F87CE3E65FDB0DDCE342F7BDA18B90CA794374BD32A0B5B7E6
++1EF0D2B8CD79CF8E4787795EECF348DC8E2DBD5876C15E3BBAB2532DF001BDA4
++CC4F54B3215D52D55FD27F24C524E7CFBF5E5D354F14104128369260BA6CF5AA
++8BE3EEE611C4FFC04DDCF340B8C7745F8D8AE1EA344644DD21335C0CBE551424
++67D8FA67C7C521FE3555BFFDCBBFB5E6EBF5ADDCCA45B1252FB2EC4FFE26A1AB
++03592F937209EDF01E64F413180CF3F6A668CB85D6A1FA413BA91FC2C9BDCBB3
++BC7C8267F87FE5C2B84FE0430838076C1F54585B7C572C12D87955C75D1914B1
++5EC0A95ED945831B14F54C5D99928275BF4A33646A3A99A65C55A2C49BCCF5D2
++E3F01A66364D4BFD3AD3572ED41BE2DAF80B16A4EA9C04AF731311328AC6EAAD
++D03886242C76AE8C01893B527D2CC609A71150EB44DAFF14731C0BA560A1C290
++0D93C77411BAB98C1236D9DF6F49943ABC69F0F2778731705AC3627C34215739
++8A3D9FCE819A2B2BE945A7DD7E2009B9E6ABF868AB6F2269079E4B12DB3A8FD6
++9783A34D2F9F6145899EA835B3F8B613B2B6AEB90975C2F94939839EBAFEAA16
++D06F80624ED16B812DF666BFE1348843EEE84E7B7833FED6D84E6F65F853E146
++0AE080B79ADC3E282B129B1A68A7A7A2012B57EFD3148EA7566DAB7C6138A6A4
++93EC15564B3836F70A1935FE73DFD34AC9ACAA60ED026535BC058784B5C7C82F
++9E0D241EF877621D168825E2CFDD136193E30C4EA3F9B0CBD698F88E6566D177
++942233D0EC0A9B60F193FAA528FD8D6B653D7F6DB241E5415CF34C15E337E74D
++D4AE2E27C086FBD5DE3A52A1D31FC251B4D1EA9993D0C03C57A1FCC39A1EC75F
++08C2845E7DA9F3689DBC97C0CFEE0546D007576F8218630FC25DB8035AFC68AA
++A22CCEF577FD4BFE4C1FF2A22D5042B2A916058F765CD6E5D30CD165F70F9F39
++953865DAD8A9442A230031D0A919EBF456FE031D6B1BE0C7D5D8F1399203B42E
++D7201D82660E309F53F510EB527235D8B1F80E822F08E7D32862FBB603738B27
++D1C0703BE4B32DBE38143CED975131E91B2D6D0913D08B55B5BFDFCA34E6BDDE
++6CE25F766F82E3EA7B986E40183C0ADEB410A40589139BCC2A3B58D6B5E4A21B
++70C4A984EE0B66CB421ADF5101D1095EC16768FF672742373C4F822579C56908
++3E083804BC25A9C1DD5E571BCAEF898990534F8CA68840D3080AB0DE80E1AA81
++8FD97803F7F67345EF73A609EA29CDACDDD10F89A049643310298E5A74812E55
++732E0921950D286C3BB8130B8383FFC74822BB8F46DFA4A8964D2C8A0E8D02E2
++EB73D4E7D5E677B9ED24D76003490B47D77CFCF27C502E134F9B0A58B1EFA344
++A73D5408A113935F894F330F2F62F52D774F81224C29A3219E39AE63151E691B
++D54556E17F89031AF131E6FB3AEBAEAC93DDFEDB8CDD87E9F56CF6249097306E
++15CF8C670B335D41F59317F44AC0AC460F38C9375A50F48E048D73A364C9A349
++9F2530D83F6621EF71106CF7DFFFDC29B337D843EF17D75C5A6D244BF52267A7
++CAF36A9DDCEE69D30447C349C5A6CF10C324DBA6675731B3312F2DCBCCA1FD1E
++609A4203B80E421BC1C440B64995392336AE538232C13966698914244AFE816C
++F04C80FBF6E052087D557D1585821545730623BCD485D1E8F0803EFCE197F62D
++DA58D11A9DCD7C536DF916C623F0AFA628461DE72BF61C8B564670E51D361F55
++B7B0D0728B3668576C1346890C27A2CC90111D5D6AFC8E06C9CF064EBE2E3253
++54BD68854E315F3D4A0FF29CEBF8A7D5E372882AFA43DD10F163E26DD283C77C
++E8B055992E1629C593EC28B5ECE0BDD42F6E1AABE45C6E160A700F3F75F11BA1
++F4D0F7E1EB7848B72FF625C9567BD588C022CAA2DC6606EA0CFE6F762FAF615E
++F4F8A205AC917CE938461057B47AD99CC2C66AF70B73C39A43EB686C8A803AE9
++3231F55087A56DE3A7DF0BA0DF74A64B324B0554EBD31C5318B59F987DC2D804
++B852838A5C06276A97D6D3AA747B38E7F7A8BA46D0E17DB201417C8355415E67
++C990413F049A21A5FE7E42035208DF556E253342802A0D
  0000000000000000000000000000000000000000000000000000000000000000
  0000000000000000000000000000000000000000000000000000000000000000
  0000000000000000000000000000000000000000000000000000000000000000
diff --git a/tests/test_difference.py b/tests/test_difference.py
index 1c01cbf..eb5fa92 100644
--- a/tests/test_difference.py
+++ b/tests/test_difference.py
@@ -32,7 +32,7 @@ def test_too_much_input_for_diff(monkeypatch):
     assert '[ Too much input for diff ' in difference.unified_diff
 
 def test_too_long_diff_block_lines(monkeypatch):
-    monkeypatch.setattr(Config, 'max_diff_block_lines', 10)
+    monkeypatch.setattr(Config, 'max_diff_block_lines_saved', 10)
     too_long_text_a = io.StringIO("a\n" * 21)
     too_long_text_b = io.StringIO("b\n" * 21)
     difference = Difference.from_text_readers(too_long_text_a, too_long_text_b, 'a', 'b')

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/diffoscope.git


More information about the diffoscope mailing list