Mercurial 5.2 release as stable release for Python 3.

Gregory Szorc gregory.szorc at gmail.com
Thu Oct 17 12:41:40 EDT 2019


On Tue, Oct 15, 2019 at 9:56 PM Matt Harbison <mharbison72 at gmail.com> wrote:

> On Wed, 16 Oct 2019 00:17:00 -0400, Gregory Szorc
> <gregory.szorc at gmail.com> wrote:
> >
> > I may have been confusing fails with skips.
> >
> > In related news, I have the new CI system somewhat working with Windows
> > now! It reports 68 failures and 127 skips on Python 3.7 (
> >
> https://ci.hg.gregoryszorc.com/job-info/try-b78cfa589c8c93015b82d1b014890a4636080815-windows-cpython-3.7-x64-0#failed-tests
> > ).
>
> Nice!
>
> For reference, here's my list.  It seems that you have symlink support
> enabled somehow.  I thought I switched that off in setup.py, but maybe
> not
> in hg/hghave.  I'm not sure how you can run those tests, other than I
> vaguely recall that creating symlinks no longer requires admin rights on
> 1903?  I'm still on 1803.
>
> Skipped test-archive-symlinks.t: missing feature: symbolic links
> Skipped test-casecollision.t: system supports case insensitive file system
> Skipped test-changelog-exec.t: missing feature: executable bit
> Skipped test-check-clang-format.t: missing feature: clang-format C code
> formatter
> Skipped test-check-execute.t: missing feature: executable bit
> Skipped test-check-format.t: missing feature: grey, the fork of the black
> formatter for python
> Skipped test-check-jshint.t: missing feature: JSHint static code analysis
> tool
> Skipped test-chg.t: missing feature: running with chg
> Skipped test-clone-cgi.t: system supports Windows with MSYS
> Skipped test-commit-interactive-curses.t: missing feature: terminfo
> compiler and curses module
> Skipped test-contrib-emacs.t: missing feature: GNU Emacs
> Skipped test-contrib-relnotes.t: missing feature: a Python 3.x
> interpreter
> is available
> Skipped test-convert-baz.t: missing feature: symbolic links
> Skipped test-convert-bzr-114.t: missing feature: Canonical's Bazaar
> client
> >= 1.14
> Skipped test-convert-bzr-directories.t: missing feature: Canonical's
> Bazaar client
> Skipped test-convert-bzr-ghosts.t: missing feature: Canonical's Bazaar
> client
> Skipped test-convert-bzr-merges.t: missing feature: Canonical's Bazaar
> client
> Skipped test-convert-bzr-treeroot.t: missing feature: Canonical's Bazaar
> client
> Skipped test-convert-bzr.t: missing feature: Canonical's Bazaar client
> Skipped test-convert-cvs-branch.t: missing feature: cvs client/server
> Skipped test-convert-cvs-detectmerge.t: missing feature: cvs client/server
> Skipped test-convert-cvs-synthetic.t: missing feature: cvs client/server
> 1.12.* (not cvsnt)
> Skipped test-convert-cvs.t: missing feature: cvs client/server
> Skipped test-convert-cvsnt-mergepoints.t: missing feature: cvs
> client/server
> Skipped test-convert-darcs.t: missing feature: darcs client
> Skipped test-convert-hg-svn.t: missing feature: subversion python bindings
> Skipped test-convert-mtn.t: missing feature: monotone client (>= 1.0)
> Skipped test-convert-p4-filetypes.t: missing feature: symbolic links
> Skipped test-convert-p4.t: missing feature: Perforce server and client
> Skipped test-convert-svn-branches.t: missing feature: subversion python
> bindings
> Skipped test-convert-svn-encoding.t: missing feature: subversion python
> bindings
> Skipped test-convert-svn-move.t: missing feature: subversion python
> bindings
> Skipped test-convert-svn-source.t: missing feature: subversion python
> bindings
> Skipped test-convert-svn-startrev.t: missing feature: subversion python
> bindings
> Skipped test-convert-svn-tags.t: missing feature: subversion python
> bindings
> Skipped test-convert-tla.t: missing feature: symbolic links
> Skipped test-debian-packages.t: missing feature: debian build
> dependencies
> (run dpkg-checkbuilddeps in contrib/)
> Skipped test-diff-upgrade.t: missing feature: executable bit
> Skipped test-docker-packaging.t: missing feature: docker support
> Skipped test-eolfilename.t: missing feature: end-of-lines in paths
> Skipped test-execute-bit.t: missing feature: executable bit
> Skipped test-filecache.py: missing feature: cacheable filesystem
> Skipped test-fix-clang-format.t: missing feature: clang-format C code
> formatter
> Skipped test-flags.t: missing feature: executable bit
> Skipped test-fuzz-targets.t: skipped
> Skipped test-gpg.t: missing feature: gpg client
> Skipped test-hgwebdirsym.t: missing feature: symbolic links
> Skipped test-inherit-mode.t: missing feature: unix-style permissions
> Skipped test-issue1438.t: missing feature: symbolic links
> Skipped test-issue1802.t: missing feature: executable bit
> Skipped test-lock-badness.t: system supports Windows
> Skipped test-logtoprocess.t: system supports Windows
> Skipped test-mac-packages.t: missing feature: OS X packaging tools
> Skipped test-merge-types.t: missing feature: executable bit
> Skipped test-mq-symlinks.t: missing feature: symbolic links
> Skipped test-newcgi.t: system supports Windows with MSYS
> Skipped test-newercgi.t: system supports Windows with MSYS
> Skipped test-nointerrupt.t: system supports Windows
> Skipped test-oldcgi.t: system supports Windows with MSYS
> Skipped test-permissions.t: missing feature: unix-style permissions
> Skipped test-pull-permission.t: missing feature: unix-style permissions
> Skipped test-push-cgi.t: system supports Windows with MSYS
> Skipped test-rebase-inmemory.t: missing feature: executable bit
> Skipped test-remotefilelog-bad-configs.t: system supports Windows
> Skipped test-remotefilelog-bgprefetch.t: system supports Windows
> Skipped test-remotefilelog-blame.t: system supports Windows
> Skipped test-remotefilelog-bundle2-legacy.t: system supports Windows
> Skipped test-remotefilelog-bundle2.t: system supports Windows
> Skipped test-remotefilelog-bundles.t: system supports Windows
> Skipped test-remotefilelog-cacheprocess.t: system supports Windows
> Skipped test-remotefilelog-clone-tree.t: system supports Windows
> Skipped test-remotefilelog-clone.t: system supports Windows
> Skipped test-remotefilelog-corrupt-cache.t: system supports Windows
> Skipped test-remotefilelog-datapack.py: skipped
> Skipped test-remotefilelog-gc.t: system supports Windows
> Skipped test-remotefilelog-gcrepack.t: system supports Windows
> Skipped test-remotefilelog-histpack.py: skipped
> Skipped test-remotefilelog-http.t: system supports Windows
> Skipped test-remotefilelog-keepset.t: system supports Windows
> Skipped test-remotefilelog-linknodes.t: system supports Windows
> Skipped test-remotefilelog-local.t: system supports Windows
> Skipped test-remotefilelog-log.t: system supports Windows
> Skipped test-remotefilelog-partial-shallow.t: system supports Windows
> Skipped test-remotefilelog-permissions.t: system supports Windows
> Skipped test-remotefilelog-prefetch.t: system supports Windows
> Skipped test-remotefilelog-pull-noshallow.t: system supports Windows
> Skipped test-remotefilelog-push-pull.t: system supports Windows
> Skipped test-remotefilelog-repack-fast.t: system supports Windows
> Skipped test-remotefilelog-repack.t: system supports Windows
> Skipped test-remotefilelog-share.t: system supports Windows
> Skipped test-remotefilelog-sparse.t: system supports Windows
> Skipped test-remotefilelog-tags.t: system supports Windows
> Skipped test-remotefilelog-wireproto.t: system supports Windows
> Skipped test-repair-strip.t: missing feature: unix-style permissions
> Skipped test-revert-flags.t: missing feature: executable bit
> Skipped test-sparse-fsmonitor.t: skipped
> Skipped test-sparse-revlog.t: missing artifact, run
> "c:\Users\Matt\hg\tests/artifacts/scripts/generate-churning-bundle.py"
> Skipped test-sqlitestore.t: missing feature: sqlite3 module is available
> Skipped test-ssh-repoerror.t: missing feature: unix-style permissions
> Skipped test-symlink-placeholder.t: missing feature: symbolic links
> Skipped test-symlinks.t: missing feature: symbolic links
> Skipped test-update-atomic.t: missing feature: unix-style permissions
> Skipped test-update-issue1456.t: missing feature: executable bit
> Skipped test-verify-repo-operations.py: missing feature: allow slow tests
> (use --allow-slow-tests)
> Skipped test-wireproto-exchangev2-shallow.t: missing feature: sqlite3
> module is available
> Failed test-alias.t: output changed
> Failed test-bookmarks-corner-case.t: output changed
> Failed test-branch-option.t: output changed
> Failed test-byteify-strings.t: output changed
> Failed test-check-module-imports.t: output changed
> Failed test-churn.t: output changed
> Failed test-encoding-align.t: output changed
> Failed test-encoding.t: output changed
> Failed test-eol-update.t: output changed
> Failed test-extdata.t: output changed
> Failed test-extdiff.t: output changed
> Failed test-fix.t: output changed
> Failed test-gendoc-da.t: output changed
> Failed test-gendoc-de.t: output changed
> Failed test-gendoc-ro.t: output changed
> Failed test-gendoc-sv.t: output changed
> Failed test-globalopts.t: output changed
> Failed test-help.t: output changed
> Failed test-histedit-arguments.t#abortcommand: output changed
> Failed test-histedit-arguments.t#abortflag: output changed
> Failed test-hook.t: output changed
> Failed test-http-bad-server.t: output changed
> Failed test-http-branchmap.t: output changed
> Failed test-http-proxy.t: output changed
> Failed test-install.t: output changed
> Failed test-issue4074.t: output changed
> Failed test-lfs-serve-access.t: output changed
> Failed test-log.t: output changed
> Failed test-logexchange.t: output changed
> Failed test-mactext.t: output changed
> Failed test-notify.t: output changed
> Failed test-obsmarker-template.t: output changed
> Failed test-pager.t: output changed
> Failed test-patchbomb.t: output changed
> Failed test-phabricator.t: output changed
> Failed test-revset.t: output changed
> Failed test-revset2.t: output changed
> Failed test-ssh-proto-unbundle.t: output changed
> Failed test-subrepo-svn.t: output changed
> Failed test-template-functions.t: output changed
> Failed test-url-download.t: output changed
> # Ran 791 tests, 105 skipped, 41 failed.
> python hash seed: 1158053147
>
> real    47m26.843s
> user    0m0.015s
> sys     0m0.016s
>
> > Some of those skips seem preventable. Should be a matter of installing
> > dependencies in the test environment. I'll look into that this week...
> >
> > Test coverage also concerns me. I have a feeling we'll be tracking down a
> > lot of crashes when we make Python 3 the default. Hopefully those can be
> > accompanied by new tests.
>
> I think where tests are most lacking is very Windows specific stuff, like
> looking up registry keys for extdiff.  Not sure how to improve that
> within
> the test environment.
>

Thanks for your test output: that's super useful!

https://ci.hg.gregoryszorc.com/ is officially running Windows tests on
Python 2.7 and 3.7 now. The EC2 instance size is a bit small because Amazon
bills by the hour and if I go with a larger EC2 instance size, it blows a
big hole in my wallet. But slow tests are better than no tests!

The Windows environment that these tests run in is defined by
https://www.mercurial-scm.org/repo/hg/file/8c0fe77f47c5/contrib/install-windows-dependencies.ps1
and
https://www.mercurial-scm.org/repo/hg/file/8c0fe77f47c5/contrib/automation/hgautomation/aws.py#l159.
The base image is Windows Server 2019. If we need to change the
environment, we should make changes to these in-repo files. CI doesn't yet
automatically rebuild the environment, so I will need to trigger something
on my end to get it to use the changes.

I haven't looked at reasons for the skips in detail. Now that I have CI
working, I may do that.

It's worth noting that we have a handful of quoting related test failures
on Python 2.7:
https://ci.hg.gregoryszorc.com/job-info/hg-committed-2c70dd03b74395fbec276a2e2d1d3b8347268a5d-windows-cpython-2.7-x64-0#failed-tests.
We should probably fix those first...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20191017/4d0715c7/attachment.html>


More information about the Mercurial-devel mailing list