summaryrefslogtreecommitdiffstats
path: root/src/testdir/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/README.txt')
-rw-r--r--src/testdir/README.txt83
1 files changed, 81 insertions, 2 deletions
diff --git a/src/testdir/README.txt b/src/testdir/README.txt
index f72bdbf..203c324 100644
--- a/src/testdir/README.txt
+++ b/src/testdir/README.txt
@@ -97,8 +97,7 @@ tests are successful, then this file will be an empty file.
- To execute only specific test functions, add a second argument:
- $ ../vim -u NONE -S runtest.vim test_channel.vim open_delay
-
+ $ ../vim -u NONE -S runtest.vim test_channel.vim open_delay
- To run all the tests:
@@ -119,3 +118,83 @@ tests are successful, then this file will be an empty file.
- To cleanup the temporary files after running the tests:
$ make clean
+
+
+VIEWING GENERATED SCREENDUMPS (local):
+
+You may also wish to look at the whole batch of failed screendumps after
+running "make". Source the "viewdumps.vim" script for this task:
+
+ $ ../vim -u NONE -S viewdumps.vim \
+ [dumps/Test_xxd_*.dump ...]
+
+By default, all screendumps found in the "failed" directory will be added to
+the argument list and then the first one will be loaded. Loaded screendumps
+that bear filenames of screendumps found in the "dumps" directory will be
+rendering the contents of any such pair of files and the difference between
+them (:help term_dumpdiff()); otherwise, they will be rendering own contents
+(:help term_dumpload()). Remember to execute :edit when occasionally you see
+raw file contents instead of rendered.
+
+At any time, you can add, list, and abandon other screendumps:
+
+ :$argedit dumps/Test_spell_*.dump
+ :args
+ :qall
+
+The listing of argument commands can be found under :help buffer-list.
+
+
+VIEWING GENERATED SCREENDUMPS (from a CI-uploaded artifact):
+
+After you have downloaded an artifact archive containing failed screendumps
+and extracted its files in a temporary directory, you need to set up a "dumps"
+directory by creating a symlink:
+
+ $ cd /path/to/fork
+ $ ln -s $(pwd)/src/testdir/dumps /tmp/src/testdir/dumps
+
+You can now examine the extracted screendumps:
+
+ $ ./src/vim -u NONE -S src/testdir/viewdumps.vim \
+ /tmp/src/testdir/failed/*.dump
+
+
+VIEWING GENERATED SCREENDUMPS (submitted for a pull request):
+
+First, you need to check out the topic branch with the proposed changes and
+write down a difference list between the HEAD commit (index) and its parent
+commit with respect to the changed "dumps" filenames:
+
+ $ cd /path/to/fork
+ $ git switch prs/1234
+ $ git diff-index --relative=src/testdir/dumps/ \
+ --name-only prs/1234~1 > /tmp/filelist
+
+Then, you need to check out the master branch, change the current working
+directory to reconcile relative filepaths written in the filenames list,
+possibly create an empty "failed" directory, copy in this directory the old
+"dumps" files, whose names are on the same list, and follow it by checking out
+the topic branch:
+
+ $ git switch master
+ $ cd src/testdir/dumps
+ $ test -d ../failed || mkdir ../failed
+ $ cp -t ../failed $(cat /tmp/filelist)
+ $ git switch prs/1234
+
+Make note of any missing new screendumps. Please remember about the
+introduced INVERTED relation between "dumps" and "failed", i.e. the files to
+be committed are in "dumps" already and their old versions are in "failed".
+Therefore, you need to copy the missing new screendumps from "dumps" to
+"failed":
+
+ $ cp -t ../failed foo_10.dump foo_11.dump foo_12.dump
+
+After you have changed the current working directory to its parent directory,
+you can now examine the screendumps from the "failed" directory (note that new
+screendumps will be shown with no difference between their versions):
+
+ $ cd ..
+ $ ../vim -u NONE -S viewdumps.vim
+