view tests/test-editor-filename.t @ 35069:4fb489a998c9

run-tests: allow to register any arbitrary pattern for replacement We add a 'common-pattern.py' file that allow to define extra pattern. This seems a cleaner approach than editing the 'run-test.py' file over and over. In addition allowing arbitrary pattern registration will also help extension. The format used is a python file is picked out of convenience defining a list of tuple in 'substitutions' variable. This is picked out of convenience since it is dead simple to implement. The end goal is to register more pattern for Mercurial test. There are multiple common patterns that change over time. That impact is annoying. Using pattern emplacement for them would be handy. The next patches will define all the needed patterns and the last patch will mass-update the tests outputs as it was easier to do in a single pass.
author Boris Feld <boris.feld@octobus.net>
date Sun, 05 Nov 2017 06:34:27 +0100
parents 4bf1889456f3
children f802a75da585
line wrap: on
line source

Test temp file used with an editor has the expected suffix.

  $ hg init

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/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]