sapling/tests/test-smartlog-remotenames.t
Jun Wu 3884602d28 check-code: enfore checking before using common foreign extensions
Summary:
It's a common mistake that our tests require foreign extensions (namely evolve
and remotenames) without checking them first.

This diff adds checks to catch these mistakes, adds missing checks, and unifies
our checking logic using `require-ext.sh`, which is aware of `hgext3rd` and
prints skip message.

This affects `arc lint` so hopefully our new testing code would be free of this
kind of mistakes.

Test Plan: `arc lint` would catch errors

Reviewers: #mercurial, ttung, rmcelroy

Reviewed By: rmcelroy

Subscribers: rmcelroy, mjpieters

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

Signature: t1:3550977:1468455857:e849dfd9e3cbc446cc6e6c662050ee88a3366e6c
2016-07-12 20:39:34 +01:00

110 lines
2.6 KiB
Perl

$ . $TESTDIR/require-ext.sh remotenames
$ extpath=`dirname $TESTDIR`
$ cp $extpath/hgext3rd/smartlog.py $TESTTMP # use $TESTTMP substitution in message
$ cat >> $HGRCPATH << EOF
> [extensions]
> smartlog=$TESTTMP/smartlog.py
> remotenames=
> EOF
$ hg init repo
$ cd repo
$ echo x > x
$ hg commit -qAm x
$ hg book master
$ echo x >> x
$ hg commit -qAm x2
Non-bookmarked public heads should not be visible in smartlog
$ cd ..
$ hg clone repo client
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd client
$ hg book mybook -r 0
$ hg up 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'
o 1 default/master
|
@ 0 mybook
Old head (rev 1) should no longer be visible
$ echo z >> x
$ hg commit -qAm x3
$ hg push --non-forward-move -q --to master
$ hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'
@ 2 default/master
|
o 0 mybook
Test configuration of "interesting" bookmarks
$ hg up -q ".^"
$ echo x >> x
$ hg commit -qAm x4
$ hg push -q --to project/bookmark --create
$ hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'
o 2 default/master
|
| @ 3 default/project/bookmark
|/
o 0 mybook
$ hg up ".^"
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'
o 2 default/master
|
@ 0 mybook
$ cat >> $HGRCPATH << EOF
> [smartlog]
> repos=default/
> names=project/bookmark
> EOF
$ hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'
o 3 default/project/bookmark
|
@ 0 mybook
$ cat >> $HGRCPATH << EOF
> [smartlog]
> names=master project/bookmark
> EOF
$ hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'
o 2 default/master
|
| o 3 default/project/bookmark
|/
@ 0 mybook
Change remote master to a non-existing locally commit and check that warning
is shown to the user
$ cat > .hg/remotenames << EOF
> 6dd477f76ca35ae46e82972648735867cf335d3e bookmarks remote/master
> EOF
$ hg sl
warning: there is no master commit locally, try pulling from server
o changeset: 3:8e2253d950ae
| tag: tip
| parent: 0:b292c1e3311f
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: x4
|
@ changeset: 0:b292c1e3311f
bookmark: mybook
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: x
note: hiding 3 old heads without bookmarks
(use --all to see them)