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

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Sat Jan 18 21:18:51 UTC 2020


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

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)



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


More information about the Mercurial-devel mailing list