diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 5c6673cf2b..cda1e144ec 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -121,30 +121,36 @@ (substitute* "src/testdir/test_swap.vim" (("if !IsRoot\\(\\)") "if 0")) - ;; These tests check how the terminal looks after executing some - ;; actions. The path of the bash binary is shown, which results in - ;; a difference being detected. Patching the expected result is - ;; non-trivial due to the special format used, so skip the test. - (substitute* "src/testdir/test_terminal.vim" - ((".*Test_terminal_postponed_scrollback.*" line) - (string-append line "return\n"))) - (substitute* "src/testdir/test_popupwin.vim" - ((".*Test_popup_drag_termwin.*" line) - (string-append line "return\n"))) - - ;; This test compares output against a golden ‘…/|b|i|n|/|s|h…’ + ;; These tests compares output against a golden ‘…/|b|i|n|/|s|h…’ ;; literal. We need to match that and substitute a similarly ;; ‘spliced’ path to ‘sh’ in the store, truncated to the last - ;; 44 (spliced: 88) characters. + ;; 44 (spliced: 88) or so characters. + ;; Two of the tests we simply skip instead of patching the screen dump. + (substitute* "src/testdir/test_popupwin.vim" + ((".*Test_popupwin_term_0[1|2].*") "")) + ;; We replace the external program call (!) with a scroll-back (<) + ;; symbol and blindly fix some other differences based on error output. (let ((splice (lambda (s separator) (string-join (map string (string->list s)) separator)))) (substitute* "src/testdir/dumps/Test_terminal_from_cmd.dump" (((splice "/bin/sh" "\\|")) (splice (string-take-right (which "sh") 44) "|")) - ;; Blindly fix some other differences based on error output. (("^\\|!") "|<") - (("@37") ""))) + (("@37") "")) + (substitute* '("src/testdir/dumps/Test_terminal_scrollback_1.dump" + "src/testdir/dumps/Test_terminal_scrollback_2.dump") + (((splice "/bin/sh" "\\|")) + (splice (string-take-right (which "sh") 61) "|")) + (("^\\|!") "|<") + ((" @55") " @1")) + (substitute* '("src/testdir/dumps/Test_terminal_scrollback_3.dump" + "src/testdir/dumps/Test_popupwin_term_03.dump" + "src/testdir/dumps/Test_popupwin_term_04.dump") + (((splice "/bin/sh" "\\|")) + (splice (string-take-right (which "sh") 62) "|")) + (("^\\|!") "|<") + (("\\]\\| @56") "]| @1"))) #t))))) (inputs `(("gawk" ,gawk)