sapling/tests/test-show.t
Jun Wu 4a936cee21 codemod: remove extpath in tests
Summary:
Previously, the following pattern is common in our tests:

```
   $ extpath=`dirname $TESTDIR`
   $ cp $extpath/hgext3rd/name.py $TESTTMP # use $TESTTMP substitution in message
   $ cat >> $HGRCPATH<<EOF
   > [extensions]
   > name=$TESTTMP/name.py
   > EOF
```

Now, it gets simplified to:

```
   $ cat >> $HGRCPATH<<EOF
   > [extensions]
   > name=$TESTDIR/../hgext3rd/name.py
   > EOF
```

This removes unnecessary `dirname` and `cp`.

Also fixed a regex that does not match `bytes`:

```
-  transferred 268 bytes in [\d.]+ seconds \([\d.]+ KB/sec\) (re)
+  transferred 268 bytes in 0.3 seconds (939 bytes/sec)
```

Test Plan: arc unit

Reviewers: #mercurial, phillco

Reviewed By: phillco

Subscribers: medson, mjpieters

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

Signature: t1:5270897:1497663052:bf860a0b480c751b1e4b53cebf6526193f0f6652
2017-06-16 18:31:25 -07:00

419 lines
9.3 KiB
Perl

$ cat >> $HGRCPATH << EOF
> [extensions]
> show=$TESTDIR/../hgext3rd/fbshow.py
> EOF
We assume that log basically works (it has its own tests). This just covers uses
of show that might break even if log works.
Show on empty repository: checking consistency
$ hg init empty
$ cd empty
$ hg show
changeset: -1:000000000000
tag: tip
user:
date: Thu Jan 01 00:00:00 1970 +0000
$ hg show 1
abort: unknown revision '1'!
[255]
$ hg show 'branch(name)'
abort: unknown revision 'name'!
[255]
$ hg show null -q
changeset: -1:000000000000
tag: tip
user:
date: Thu Jan 01 00:00:00 1970 +0000
Check various git-like options:
$ hg init gitlike
$ echo one > one
$ echo two > two
$ hg commit -qAm twofiles
$ hg show --template status
changeset: 0:bf7b98b60f6f
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
description:
twofiles
files:
A one
A two
diff -r 000000000000 -r bf7b98b60f6f one
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/one Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+one
diff -r 000000000000 -r bf7b98b60f6f two
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/two Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+two
Check that the command parser always treats the first argument as a revision:
$ hg show two
abort: unknown revision 'two'!
[255]
$ hg show . two
changeset: 0:bf7b98b60f6f
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: one two
description:
twofiles
diff -r 000000000000 -r bf7b98b60f6f two
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/two Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+two
Check --stat
$ hg init stat
$ cd stat
$ echo show > x
$ hg commit -qAm x
$ hg show --stat
changeset: 0:852a8d467a01
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: x
description:
x
x | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff -r 000000000000 -r 852a8d467a01 x
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/x Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+show
$ echo more >> x
$ hg commit -qAm longer
$ hg show --stat
changeset: 1:b73358b94785
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: x
description:
longer
x | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff -r 852a8d467a01 -r b73358b94785 x
--- a/x Thu Jan 01 00:00:00 1970 +0000
+++ b/x Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +1,2 @@
show
+more
$ echo remove > x
$ hg commit -qAm remove
$ hg show --stat
changeset: 2:3d74ea61c11c
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: x
description:
remove
x | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff -r b73358b94785 -r 3d74ea61c11c x
--- a/x Thu Jan 01 00:00:00 1970 +0000
+++ b/x Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +1,1 @@
-show
-more
+remove
$ hg show --stat 0
changeset: 0:852a8d467a01
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: x
description:
x
x | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff -r 000000000000 -r 852a8d467a01 x
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/x Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+show
Check --unified and -U
$ hg init diff
$ cd diff
$ cat >file <<EOF
> line1
> line2
> line3
> line4
> line5
> EOF
$ hg commit -qAm file
$ cat >>file <<EOF
> line6
> line7
> line8
> line9
> line10
> EOF
$ hg commit -qm file
$ hg show --unified=1
changeset: 1:8e33115c1596
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: file
description:
file
diff -r fd78c1ae39e0 -r 8e33115c1596 file
--- a/file Thu Jan 01 00:00:00 1970 +0000
+++ b/file Thu Jan 01 00:00:00 1970 +0000
@@ -5,1 +5,6 @@
line5
+line6
+line7
+line8
+line9
+line10
$ hg show --unified=2
changeset: 1:8e33115c1596
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: file
description:
file
diff -r fd78c1ae39e0 -r 8e33115c1596 file
--- a/file Thu Jan 01 00:00:00 1970 +0000
+++ b/file Thu Jan 01 00:00:00 1970 +0000
@@ -4,2 +4,7 @@
line4
line5
+line6
+line7
+line8
+line9
+line10
Check behavior with nonsensical integers.
$ hg show --unified=-7
changeset: 1:8e33115c1596
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: file
description:
file
diff -r fd78c1ae39e0 -r 8e33115c1596 file
--- a/file Thu Jan 01 00:00:00 1970 +0000
+++ b/file Thu Jan 01 00:00:00 1970 +0000
@@ -13,-14 +13,-9 @@
+line6
+line7
+line8
+line9
+line10
Check --git and -g
$ hg init git
$ cd git
$ echo git > file
$ hg commit -qAm file
$ hg show --git
changeset: 0:2a575d662478
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: file
description:
file
diff --git a/file b/file
new file mode 100644
--- /dev/null
+++ b/file
@@ -0,0 +1,1 @@
+git
$ echo more >> file
$ hg commit -qAm file
$ hg show -g
changeset: 1:a23f7b259024
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: file
description:
file
diff --git a/file b/file
--- a/file
+++ b/file
@@ -1,1 +1,2 @@
git
+more
$ hg show -g 0
changeset: 0:2a575d662478
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: file
description:
file
diff --git a/file b/file
new file mode 100644
--- /dev/null
+++ b/file
@@ -0,0 +1,1 @@
+git
Check hg show '' fails to parse the revision
$ hg show ''
hg: parse error: empty query
[255]
Confirm that --help works (it didn't when we used an alias)
$ hg show --help
hg show [OPTION]... [REV [FILE]...]
show revision in detail
This behaves similarly to 'hg log -vp -r REV [OPTION]... [FILE]...', or if
called without a REV, 'hg log -vp -r . [OPTION]...' Use 'hg log' for more
powerful operations than supported by hg show
See 'hg help templates' for more about pre-packaged styles and specifying
custom templates.
(use 'hg help -e show' to show help for the show extension)
options ([+] can be repeated):
-g --git use git extended diff format
--stat output diffstat-style summary of changes
-T --template TEMPLATE display with template
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-U --unified VALUE number of lines of diff context to show (default:
<type 'int'>)
(some details hidden, use --verbose to show complete help)
$ hg show --help --verbose
hg show [OPTION]... [REV [FILE]...]
show revision in detail
This behaves similarly to 'hg log -vp -r REV [OPTION]... [FILE]...', or if
called without a REV, 'hg log -vp -r . [OPTION]...' Use 'hg log' for more
powerful operations than supported by hg show
See 'hg help templates' for more about pre-packaged styles and specifying
custom templates.
(use 'hg help -e show' to show help for the show extension)
options ([+] can be repeated):
-g --git use git extended diff format
--stat output diffstat-style summary of changes
--style STYLE display using template map file (DEPRECATED)
-T --template TEMPLATE display with template
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-U --unified VALUE number of lines of diff context to show (default:
<type 'int'>)
global options ([+] can be repeated):
-R --repository REPO repository root directory or name of overlay bundle
file
--cwd DIR change working directory
-y --noninteractive do not prompt, automatically pick the first choice for
all prompts
-q --quiet suppress output
-v --verbose enable additional output
--color TYPE when to colorize * (glob)
* (glob)
--config CONFIG [+] set/override config option (use 'section.name=value')
--debug enable debugging output
--debugger start debugger
--encoding ENCODE set the charset encoding (default: ascii)
--encodingmode MODE set the charset encoding mode (default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
--version output version information and exit
-h --help display help and exit
--hidden consider hidden changesets
--pager TYPE when to paginate (boolean, always, auto, or never)
(default: auto)