Patchwork D7945: py3: conditionalize test-flagprocessor.t on Python 3.8

login
register
mail settings
Submitter phabricator
Date Jan. 18, 2020, 9:18 p.m.
Message ID <differential-rev-PHID-DREV-kge2iqwdov5zhu2afxu6-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/44520/
State Superseded
Headers show

Comments

phabricator - Jan. 18, 2020, 9:18 p.m.
indygreg created this revision.
Herald added subscribers: mercurial-devel, mjpieters.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  For reasons I don't understand, Python 3.8 is outputting a different
  lint in the traceback than prior Pythons.
  
  The lines in question are:
  
    flagutil.addflagprocessor(
        REVIDX_NOOP, (noopdonothingread, noopdonothing, validatehash,)
    )
  
  Python <3.8 prints the 2nd line but 3.8 the first line. Perhaps Python
  changed its traceback logic to always print the first line of a
  multiple line expression?
  
  Whatever the case, with this change, the test now passes on
  Python 3.8.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D7945

AFFECTED FILES
  tests/test-flagprocessor.t

CHANGE DETAILS




To: indygreg, #hg-reviewers
Cc: mjpieters, mercurial-devel

Patch

diff --git a/tests/test-flagprocessor.t b/tests/test-flagprocessor.t
--- a/tests/test-flagprocessor.t
+++ b/tests/test-flagprocessor.t
@@ -204,7 +204,8 @@ 
     File "*/mercurial/extensions.py", line *, in _runextsetup (glob)
       extsetup(ui)
     File "*/tests/flagprocessorext.py", line *, in extsetup (glob)
-      REVIDX_NOOP, (noopdonothingread, noopdonothing, validatehash,)
+      flagutil.addflagprocessor( (py38 !)
+      REVIDX_NOOP, (noopdonothingread, noopdonothing, validatehash,) (no-py38 !)
     File "*/mercurial/revlogutils/flagutil.py", line *, in addflagprocessor (glob)
       insertflagprocessor(flag, processor, flagprocessors)
     File "*/mercurial/revlogutils/flagutil.py", line *, in insertflagprocessor (glob)