annotate src/testdir/Make_vms.mms @ 33776:9503dc55b5ed v9.0.2108

patch 9.0.2108: [security]: overflow with count for :s command Commit: https://github.com/vim/vim/commit/ac63787734fda2e294e477af52b3bd601517fa78 Author: Christian Brabandt <cb@256bit.org> Date: Tue Nov 14 20:45:48 2023 +0100 patch 9.0.2108: [security]: overflow with count for :s command Problem: [security]: overflow with count for :s command Solution: Abort the :s command if the count is too large If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Adds a test with INT_MAX as count and verify it correctly fails. It seems the return value on Windows using mingw compiler wraps around, so the initial test using :s/./b/9999999999999999999999999990 doesn't fail there, since the count is wrapping around several times and finally is no longer larger than 2147483647. So let's just use 2147483647 in the test, which hopefully will always cause a failure Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 16 Nov 2023 22:15:10 +0100
parents 826a6406ea7b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 #
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 # Makefile to run all tests for Vim on VMS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 #
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 #
23467
826a6406ea7b patch 8.2.2276: list of distributed files is outdated
Bram Moolenaar <Bram@vim.org>
parents: 21799
diff changeset
7 # Last change: 2020 Aug 14
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 #
1709
71eaeb69efe4 updated for version 7.2-007
vimboss
parents: 1624
diff changeset
9 # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 # Edit the lines in the Configuration section below to select.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 #
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 # Execute with:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 # mms/descrip=Make_vms.mms
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 # Cleanup with:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 # mms/descrip=Make_vms.mms clean
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 #
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 # Make files are MMK compatible.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 #
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 # NOTE: You can run this script just in X/Window environment. It will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 # create a new terminals, therefore you have to set up your DISPLAY
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 # logical. More info in VMS documentation or with: help set disp.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 #
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 #######################################################################
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 # Configuration section.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 #######################################################################
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 # Uncomment if you want tests in GUI mode. Terminal mode is default.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 # WANT_GUI = YES
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 #######################################################################
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 # End of configuration section.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 #
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 # Please, do not change anything below without programming experience.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 #######################################################################
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 VIMPROG = <->vim.exe
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 .SUFFIXES : .out .in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
21779
30bdd2e4a6f9 patch 8.2.1439: tiny and small builds have no test coverage
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
40 SCRIPT = test20.out test21.out test22.out test23.out test24.out \
30bdd2e4a6f9 patch 8.2.1439: tiny and small builds have no test coverage
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
41 test25.out test26.out test27.out \
30bdd2e4a6f9 patch 8.2.1439: tiny and small builds have no test coverage
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
42 test77a.out
2441
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
43
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 .IFDEF WANT_GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 GUI_OPTION = -g
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 .ENDIF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 .in.out :
2441
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
49 -@ !clean up before doing the test
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
50 -@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.*
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
51 -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then delete/noconfirm/nolog $*.out.*
5704
47a673b20e49 updated for version 7.4.197
Bram Moolenaar <bram@vim.org>
parents: 5690
diff changeset
52 -@ ! define TMP if not set - some tests use it
47a673b20e49 updated for version 7.4.197
Bram Moolenaar <bram@vim.org>
parents: 5690
diff changeset
53 -@ if "''F$TRNLNM("TMP")'" .EQS. "" then define/nolog TMP []
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 -@ write sys$output " "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 -@ write sys$output " "$*" "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 -@ write sys$output "-----------------------------------------------"
2441
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
58 -@ !run the test
10328
299f1669c20e commit https://github.com/vim/vim/commit/de5e2c219b99895445fb75ae3541ee69282a5846
Christian Brabandt <cb@256bit.org>
parents: 9756
diff changeset
59 -@ create/term/wait/nodetach mcr $(VIMPROG) $(GUI_OPTION) -u vms.vim --noplugin -s dotest.in $*.in
2441
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
60 -@ !analyse the result
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
61 -@ directory /size/date test.out
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
62 -@ if "''F$SEARCH("test.out.*")'" .NES. "" then rename/nolog test.out $*.out
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
63 -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok;
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
64 -@ !clean up after the test
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
5704
47a673b20e49 updated for version 7.4.197
Bram Moolenaar <bram@vim.org>
parents: 5690
diff changeset
66 -@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
21741
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21608
diff changeset
68 all : clean nolog $(START_WITH) $(SCRIPT) nolog
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 -@ write sys$output " "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 -@ write sys$output " All done"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 -@ deassign sys$output
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 -@ delete/noconfirm/nolog x*.*.*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 -@ type test.log
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 nolog :
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 -@ define sys$output test.log
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 -@ write sys$output " Standard VIM test cases"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 -@ write sys$output " OpenVMS version: ''F$GETSYI("VERSION")'"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 -@ write sys$output " Vim version:"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 -@ mcr $(VIMPROG) --version
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 -@ write sys$output " Test date:"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 -@ show time
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 -@ write sys$output " Test results:"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 -@ write sys$output "MAKE_VMS.MMS options:"
5704
47a673b20e49 updated for version 7.4.197
Bram Moolenaar <bram@vim.org>
parents: 5690
diff changeset
91 -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
2441
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
92 -@ write sys$output "Default vimrc file is VMS.VIM:"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 -@ write sys$output "-----------------------------------------------"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 -@ type VMS.VIM
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 clean :
2441
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
97 -@ if "''F$SEARCH("*.out")'" .NES. "" then delete/noconfirm/nolog *.out.*
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
98 -@ if "''F$SEARCH("test.log")'" .NES. "" then delete/noconfirm/nolog test.log.*
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
99 -@ if "''F$SEARCH("test.ok")'" .NES. "" then delete/noconfirm/nolog test.ok.*
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
100 -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
5704
47a673b20e49 updated for version 7.4.197
Bram Moolenaar <bram@vim.org>
parents: 5690
diff changeset
101 -@ if "''F$SEARCH("Xtest*.*")'" .NES. "" then delete/noconfirm/nolog Xtest*.*.*
47a673b20e49 updated for version 7.4.197
Bram Moolenaar <bram@vim.org>
parents: 5690
diff changeset
102 -@ if "''F$SEARCH("XX*.*")'" .NES. "" then delete/noconfirm/nolog XX*.*.*
47a673b20e49 updated for version 7.4.197
Bram Moolenaar <bram@vim.org>
parents: 5690
diff changeset
103 -@ if "''F$SEARCH("_un_*.*")'" .NES. "" then delete/noconfirm/nolog _un_*.*.*
2441
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
104 -@ if "''F$SEARCH("*.*_sw*")'" .NES. "" then delete/noconfirm/nolog *.*_sw*.*
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
105 -@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.*
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
106 -@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.*
620a42739426 Improvements for VMS. (Zoltan Arpadffy)
Bram Moolenaar <bram@vim.org>
parents: 2436
diff changeset
107 -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.*
1709
71eaeb69efe4 updated for version 7.2-007
vimboss
parents: 1624
diff changeset
108