sapling/eden/scm/tests/test-editor-filename.t
Durham Goode 7c8f9167e1 tests: avoid turning $TESTTMP into a repo
Summary:
Some tests run `hg init` right inside the test directory, turning the
entire $TESTTMP into a repo. In future diffs we'll start to rely more on hgcache
being present during tests, which creates a directory in $TESTTMP. Let's make
sure all repos are created as sub-directories of $TESTTMP.

Reviewed By: kulshrax

Differential Revision: D23662077

fbshipit-source-id: 2b2b974ebfd1bd19ad6acd1ebe3e68dd03a09869
2020-09-17 10:16:03 -07:00

66 lines
1.4 KiB
Perl

#require py2
#chg-compatible
Test temp file used with an editor has the expected suffix.
$ hg init repo
$ cd repo
Create an editor that writes its arguments to stdout and set it to $HGEDITOR.
$ cat > editor.sh << EOF
> echo "\$@"
> exit 1
> EOF
$ hg add editor.sh
$ HGEDITOR="sh $TESTTMP/repo/editor.sh"
$ export HGEDITOR
Verify that the path for a commit editor has the expected suffix.
$ hg commit
*.commit.hg.txt (glob)
abort: edit failed: sh exited with status 1
[255]
Verify that the path for a histedit editor has the expected suffix.
$ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
> histedit=
> EOF
$ hg commit --message 'At least one commit for histedit.'
$ hg histedit
*.histedit.hg.txt (glob)
abort: edit failed: sh exited with status 1
[255]
Verify that when performing an action that has the side-effect of creating an
editor for a diff, the file ends in .diff.
$ echo 1 > one
$ echo 2 > two
$ hg add
adding one
adding two
$ hg commit --interactive --config ui.interactive=true --config ui.interface=text << EOF
> y
> e
> q
> EOF
diff --git a/one b/one
new file mode 100644
examine changes to 'one'? [Ynesfdaq?] y
@@ -0,0 +1,1 @@
+1
record change 1/2 to 'one'? [Ynesfdaq?] e
*.diff (glob)
editor exited with exit code 1
record change 1/2 to 'one'? [Ynesfdaq?] q
abort: user quit
[255]