sapling/tests/test-sqldirstate-upgrade.t
Jun Wu 3d461ae600 check-ext: make checks stricter
Summary:
Enhance check-ext script to be more strict:

 - Only one foreign extension is allowed: `remotenames`
 - Require explicit path for in-repo extensions to avoid wrong extensions
   being tested

This would make the test more predicatable since system extensions
will be less likely to be imported. Explicit path is better than
setting `PYTHONPATH` since `hgext/name.py` could override
`hgext3rd/name.py` regardless of `PYTHONPATH`.

Test Plan: arc unit

Reviewers: phillco, durham, ikostia, #mercurial, stash

Reviewed By: stash

Subscribers: medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5271430

Signature: t1:5271430:1497861776:7dd35ec7c522cd9b26aa0871cb4306b4f1b8993a
2017-06-19 08:02:38 -07:00

60 lines
958 B
Perl

Init repo
$ cat <<EOF >> $HGRCPATH
> [extensions]
> sqldirstate=$TESTDIR/../sqldirstate
> EOF
$ hg init repo
$ cd repo
$ mkdir a b
$ echo a > a/a
$ echo b > b/b
$ echo c > c
$ echo d > d
$ echo x > x
$ hg addremove -q
$ hg st
A a/a
A b/b
A c
A d
A x
Test automatic upgrade on pull
$ cat <<EOF >> $HGRCPATH
> [sqldirstate]
> upgrade = True
> EOF
$ hg pull
migrating your repo to sqldirstate which will make your hg commands faster...
pulling from default
abort: repository default not found!
[255]
$ ls .hg/dirstate*
.hg/dirstate
.hg/dirstate.sqlite3
$ hg st
A a/a
A b/b
A c
A d
A x
$ hg pull
pulling from default
abort: repository default not found!
[255]
Test conversions using debugcommands
$ hg commit -m a
$ hg st
$ hg debugsqldirstate off
$ hg st
$ hg debugsqldirstate on
$ hg st
$ hg debugsqldirstate on
abort: repo already has sqldirstate
[255]