contrib/check-py3-compat.py
changeset 45250 4e5da64d5549
parent 44470 9d2b2df2c2ba
child 45849 c102b704edb5
equal deleted inserted replaced
45249:357d8415aa27 45250:4e5da64d5549
    95 
    95 
    96 if __name__ == '__main__':
    96 if __name__ == '__main__':
    97     if sys.version_info[0] == 2:
    97     if sys.version_info[0] == 2:
    98         fn = check_compat_py2
    98         fn = check_compat_py2
    99     else:
    99     else:
       
   100         # check_compat_py3 will import every filename we specify as long as it
       
   101         # starts with one of a few prefixes. It does this by converting
       
   102         # specified filenames like 'mercurial/foo.py' to 'mercurial.foo' and
       
   103         # importing that. When running standalone (not as part of a test), this
       
   104         # means we actually import the installed versions, not the files we just
       
   105         # specified. When running as test-check-py3-compat.t, we technically
       
   106         # would import the correct paths, but it's cleaner to have both cases
       
   107         # use the same import logic.
       
   108         sys.path.insert(0, '.')
   100         fn = check_compat_py3
   109         fn = check_compat_py3
   101 
   110 
   102     for f in sys.argv[1:]:
   111     for f in sys.argv[1:]:
   103         with warnings.catch_warnings(record=True) as warns:
   112         with warnings.catch_warnings(record=True) as warns:
   104             fn(f)
   113             fn(f)