On Sun, May 05, 2024 at 11:48:47AM GMT, Johannes Thyssen Tishman wrote: > 2024-05-03T19:20:24Z "Johannes Thyssen Tishman" <johan...@thyssentishman.com>: > > 2024-05-03T19:06:51Z James Cook <falsif...@falsifian.org>: > > > > > As far as I can tell, the problem is that SHELL is /sbin/nologin > > > for user _pbuild. (I have PORTS_PRIVSEP=Yes in /etc/mk.conf.) > > > > Hmm weird, I also use PORTS_PRIVSEP and had no issues with the tests. > > I'll have to take another look at it this weekend. > > > > I'll send a revision anyways because I missed that we can probably > > drop the post-extract rule by specifying the subdir with DIST_TUPLE. > > @James, I was able to reproduce the error you've found by running the > commands you provided with and without SHELL. However, tests are still > passing for me (see attached test.log). I would expect that SHELL is set > by the building environment no? E.g.: > > $ make show=SHELL > /bin/sh
I see this too: $ make show=SHELL /bin/sh > May I ask how are you running the tests? Just 'make test' from the ports > directory as usual? Additionally, does the processes started by the > test.sh script not inherit the shell it is executed with? Yes, "make test" from the ports dir. Might have been "make FETCH_PACKAGES=-Dsnap test". I just tried again with your new patch: make clean make make install (give doas my password) make test Same result, as far as I can tell. I attached vis-0.9/test.log from my WRKOBJDIR. My /usr/ports is managed by got, and is currently at commit 419d15f5, from May 3 at 16:00 UTC. > $ cat /usr/ports/pobj/vis-0.9/vis-0.9/test/sam/test.sh | head -1 > #!/bin/sh Yes (but my WRKOBJDIR is /home/pobj): $ cat /home/pobj/vis-0.9/vis-0.9/test/sam/test.sh | head -1 #!/bin/sh > For more context, here is what I have in my /etc/mk.conf: > > $ cat /etc/mk.conf > PORTS_PRIVSEP=yes > SUDO=doas > PORTSDIR_PATH=${PORTSDIR}/mystuff:${PORTSDIR}/wip:${PORTSDIR} > USE_CCACHE=yes > FETCH_PACKAGES=no $ cat /etc/mk.conf PORTS_PRIVSEP=Yes WRKOBJDIR=/home/pobj I just tried to reproduce on another computer (laptop) but it's running into some weird "Abort trap (core dump)" error on "make install" that I don't have time to debug right now. > Extracting debug info from /usr/ports/pobj/vis-0.9/fake-amd64/usr/local/bin/vis-digraph Abort trap (core dumped) I noticed the same error when "make FETCH_PACKAGES=-Dsnap test" tried to install gettext from source. I installed gettext-runtime, gettext-tools with pkg_add instead and crossed my fingers; probably that's somehow related. For the next few days I will only have that laptop but if I find time I will try to see if I can reproduce, and dig deeper if so. -- James
[ -e test/Makefile ] || gmake test-update gmake[1]: Entering directory '/home/pobj/vis-0.9/vis-0.9/test' gmake[2]: Entering directory '/home/pobj/vis-0.9/vis-0.9/test/core' Generating ccan configuration header ccan-config.c(/tmp/ccan-config-213e92.o:(connect_args)): warning: strcpy() is almost always misused, please use strlcpy() ccan-config.c(/tmp/ccan-config-213e92.o:(run_test)): warning: sprintf() is often misused, please use snprintf() Compiling buffer-test binary Compiling map-test binary Compiling array-test binary Compiling text-test binary ok 1 - Initialization ok 2 - Insert zero length data ok 3 - Insert string at invalid position ok 4 - Insert empty string ok 5 - Insert string at start ok 6 - Insert string in middle ok 7 - Insert string at end ok 8 - Put empty string ok 9 - Put string ok 10 - Prepend string ok 11 - Append string ok 12 - Release ok 13 - Insert zero length data ok 14 - Insert data at start ok 15 - Insert data in middle ok 16 - Insert data at end ok 17 - Clear ok 18 - Put zero length data ok 19 - Put data ok 20 - Prepend data ok 21 - Append data ok 22 - Grow ok 23 - Move ok 24 - Modify after move ok 25 - Set formatted ok 26 - Set formatted overwrite ok 27 - Set formatted empty string ok 28 - Append formatted ok 29 - Append formatted empty string 1..29 ok 1 - Creation ok 2 - First on empty map ok 3 - Empty prefix map ok 4 - Get non-existing key ok 5 - Contains non-existing key ok 6 - Closest non-existing key ok 7 - Put NULL value ok 8 - Put 1 ok 9 - First on map with 1 value ok 10 - First on prefix map ok 11 - Contains existing key ok 12 - Closest match existing key ok 13 - Put duplicate ok 14 - Put 2 ok 15 - Put 3 ok 16 - First on prefix map with multiple suffixes ok 17 - Copy ok 18 - Not empty after copying ok 19 - Compare map content ok 20 - Compare map content ok 21 - Compare map content ok 22 - Compare map content ok 23 - Compare map content ok 24 - Compare map content ok 25 - Iterate stop condition ok 26 - Closest ambigious ok 27 - Iterate map ok 28 - Ordered iteration ok 29 - Iterate sub map ok 30 - Ordered sub map iteration ok 31 - Empty map for non-existing prefix ok 32 - Delete non-existing key ok 33 - Delete existing key ok 34 - Closest unambigious ok 35 - Put 3 again ok 36 - Empty after clean 1..36 ok 1 - Initialization ok 2 - Set with invalid index ok 3 - Get with invalid index ok 4 - Peek empty array ok 5 - Pop empty array ok 6 - Add integer: 0 = 2 ok 7 - Get integer: 0 = 2 ok 8 - Add integer: 1 = 3 ok 9 - Get integer: 1 = 3 ok 10 - Add integer: 2 = 5 ok 11 - Get integer: 2 = 5 ok 12 - Add integer: 3 = 7 ok 13 - Get integer: 3 = 7 ok 14 - Add integer: 4 = 11 ok 15 - Get integer: 4 = 11 ok 16 - Set array element: 0 = 11 ok 17 - Set array element: 1 = 7 ok 18 - Set array element: 2 = 5 ok 19 - Set array element: 3 = 3 ok 20 - Set array element: 4 = 2 ok 21 - Get array element: 0 = 11 ok 22 - Get array element: 1 = 7 ok 23 - Get array element: 2 = 5 ok 24 - Get array element: 3 = 3 ok 25 - Get array element: 4 = 2 ok 26 - Peek populated array ok 27 - Pop populated array ok 28 - Peek after pop ok 29 - Clear ok 30 - Re-add integer: 0 = 2 ok 31 - Re-add integer: 1 = 3 ok 32 - Re-add integer: 2 = 5 ok 33 - Re-add integer: 3 = 7 ok 34 - Re-add integer: 4 = 11 ok 35 - Set array element NULL ok 36 - Get past end of array ok 37 - Get past end of array ok 38 - Remove past end of array ok 39 - Remove element 2 ok 40 - Remove first element ok 41 - Remove last element ok 42 - Initialization ok 43 - Add item: 0 = { 'key: 0' = 2 } ok 44 - Get item: 0 = { 'key: 0' = 2 } ok 45 - Add item: 1 = { 'key: 1' = 3 } ok 46 - Get item: 1 = { 'key: 1' = 3 } ok 47 - Add item: 2 = { 'key: 2' = 5 } ok 48 - Get item: 2 = { 'key: 2' = 5 } ok 49 - Add item: 3 = { 'key: 3' = 7 } ok 50 - Get item: 3 = { 'key: 3' = 7 } ok 51 - Add item: 4 = { 'key: 4' = 11 } ok 52 - Get item: 4 = { 'key: 4' = 11 } ok 53 - Set array element: 0 = { 'key: 4' = 11 } ok 54 - Set array element: 1 = { 'key: 3' = 7 } ok 55 - Set array element: 2 = { 'key: 2' = 5 } ok 56 - Set array element: 3 = { 'key: 1' = 3 } ok 57 - Set array element: 4 = { 'key: 0' = 2 } ok 58 - Get item: 0 = { 'key: 4' = 11 } ok 59 - Get item: 1 = { 'key: 3' = 7 } ok 60 - Get item: 2 = { 'key: 2' = 5 } ok 61 - Get item: 3 = { 'key: 1' = 3 } ok 62 - Get item: 4 = { 'key: 0' = 2 } ok 63 - Adding pointer to non pointer array ok 64 - Setting pointer in non pointer array ok 65 - Clear ok 66 - Initialization with size 1 ok 67 - Add pointer to non-pointer array ok 68 - Add byte element ok 69 - Get pointer from non-pointer array ok 70 - Initialization ok 71 - Add item: 0 = 0x5a4bf937f50 ok 72 - Get item: 0 = 0x5a4bf937f50 ok 73 - Add item: 1 = 0x5a4bf928910 ok 74 - Get item: 1 = 0x5a4bf928910 ok 75 - Add item: 2 = 0x5a4bf9375a0 ok 76 - Get item: 2 = 0x5a4bf9375a0 ok 77 - Add item: 3 = 0x5a4bf942aa0 ok 78 - Get item: 3 = 0x5a4bf942aa0 ok 79 - Add item: 4 = 0x5a4bf94cdc0 ok 80 - Get item: 4 = 0x5a4bf94cdc0 ok 81 - Set item: 0 = 0x5a4bf94cdc0 ok 82 - Set item: 1 = 0x5a4bf942aa0 ok 83 - Set item: 2 = 0x5a4bf9375a0 ok 84 - Set item: 3 = 0x5a4bf928910 ok 85 - Set item: 4 = 0x5a4bf937f50 ok 86 - Get item: 0 = 0x5a4bf94cdc0 ok 87 - Get item: 1 = 0x5a4bf942aa0 ok 88 - Get item: 2 = 0x5a4bf9375a0 ok 89 - Get item: 3 = 0x5a4bf928910 ok 90 - Get item: 4 = 0x5a4bf937f50 ok 91 - Set pointer NULL ok 92 - Set pointer past end of array ok 93 - Get pointer past end of array ok 94 - Clear ok 95 - Re-add item: 0 = 0x5a4bf937f50 ok 96 - Re-add item: 1 = 0x5a4bf928910 ok 97 - Re-add item: 2 = 0x5a4bf9375a0 ok 98 - Re-add item: 3 = 0x5a4bf942aa0 ok 99 - Re-add item: 4 = 0x5a4bf94cdc0 1..99 ok 1 - Opening directory (method 0) ok 2 - Opening directory (method 1) ok 3 - Opening directory (method 2) ok 4 - Inserting into empty text ok 5 - Text save ok 6 - Load text (method 0) ok 7 - Load text (method 1) ok 8 - Load text (method 2) ok 9 - Load (0, 0) ok 10 - Empty (0, 0) ok 11 - Preparing to save (0, 0) ok 12 - Text save (0, 0) ok 13 - Verify save (0, 0) ok 14 - Load (0, 1) ok 15 - Empty (0, 1) ok 16 - Preparing to save (0, 1) ok 17 - Text save (0, 1) ok 18 - Verify save (0, 1) ok 19 - Load (0, 2) ok 20 - Empty (0, 2) ok 21 - Preparing to save (0, 2) ok 22 - Text save (0, 2) ok 23 - Verify save (0, 2) ok 24 - Load (1, 0) ok 25 - Empty (1, 0) ok 26 - Preparing to save (1, 0) ok 27 - Text save (1, 0) ok 28 - Verify save (1, 0) ok 29 - Load (1, 1) ok 30 - Empty (1, 1) ok 31 - Preparing to save (1, 1) ok 32 - Text save (1, 1) ok 33 - Verify save (1, 1) ok 34 - Load (1, 2) ok 35 - Empty (1, 2) ok 36 - Preparing to save (1, 2) ok 37 - Text save (1, 2) ok 38 - Verify save (1, 2) ok 39 - Load (2, 0) ok 40 - Empty (2, 0) ok 41 - Preparing to save (2, 0) ok 42 - Text save (2, 0) ok 43 - Verify save (2, 0) ok 44 - Load (2, 1) ok 45 - Empty (2, 1) ok 46 - Preparing to save (2, 1) ok 47 - Text save (2, 1) ok 48 - Verify save (2, 1) ok 49 - Load (2, 2) ok 50 - Empty (2, 2) ok 51 - Preparing to save (2, 2) ok 52 - Text save (2, 2) ok 53 - Verify save (2, 2) ok 54 - symlink creation ok 55 - Preparing symlink content ok 56 - Text save symlink ok 57 - Load symlink ok 58 - Text save symlink atomic ok 59 - hardlink creation ok 60 - Preparing hardlink content ok 61 - Text save hardlink ok 62 - Load hardlink ok 63 - Text save hardlink atomic ok 64 - Opening empty file ok 65 - Iterator on empty file ok 66 - Read EOF from iterator of empty file ok 67 - Moving iterator beyond start of file ok 68 - Access iterator beyond start of file ok 69 - Moving iterator back from beyond start of file ok 70 - Accessing iterator after moving back from beyond start of file ok 71 - Moving iterator beyond end of file ok 72 - Accessing iterator beyond end of file ok 73 - Moving iterator back from beyond end of file ok 74 - Accessing iterator after moving back from beyond start of file ok 75 - State on empty file ok 76 - Undo on empty file ok 77 - Redo on empty file ok 78 - Inserting new lines ok 79 - Iterator find byte next at current position ok 80 - Iterator find byte next at current position ok 81 - Iterator find byte next at current position ok 82 - Iterator find byte next at current position ok 83 - Iterator find byte next at current position ok 84 - Iterator find byte next at current position ok 85 - Iterator find byte next at EOF ok 86 - Iterator find byte prev at current position ok 87 - Iterator find byte prev at current position ok 88 - Iterator find byte prev at current position ok 89 - Iterator find byte prev at current position ok 90 - Iterator find byte prev at current position ok 91 - Iterator find byte prev at current position ok 92 - Iterator find byte prev at BOF ok 93 - Iterator byte find next (start: 0, match: 0) ok 94 - Iterator byte find next (start: 0, match: 2) ok 95 - Iterator byte find next (start: 0, match: 4) ok 96 - Iterator byte find next (start: 0, match: 18446744073709551615) ok 97 - Iterator byte find prev (start: 6, match: 0) ok 98 - Iterator byte find prev (start: 6, match: 2) ok 99 - Iterator byte find prev (start: 6, match: 4) ok 100 - Iterator byte find prev (start: 6, match: 18446744073709551615) ok 101 - Undo to empty document 1 ok 102 - Inserting empty data ok 103 - Inserting with invalid offset ok 104 - Inserting into empty document (cached) ok 105 - Inserting at begin (cached) ok 106 - Inserting in middle (cached) ok 107 - Inserting at end (cached) ok 108 - Deleting empty range ok 109 - Deleting invalid offset ok 110 - Deleting invalid range ok 111 - Reverting to empty document ok 112 - Restoring previsous content ok 113 - Deleting at end (cached) ok 114 - Deleting in middle (cached) ok 115 - Deleting at begin (cached) ok 116 - Deleting to empty document (cached) ok 117 - Inserting into empty document ok 118 - Inserting at begin ok 119 - Inserting in between ok 120 - Inserting at end ok 121 - Inserting in middle ok 122 - Inserting at end ok 123 - Inserting at end ok 124 - Undo 1 ok 125 - Undo 2 ok 126 - Undo 3 ok 127 - Undo 4 ok 128 - Undo 5 ok 129 - Undo 6 ok 130 - Undo 7 ok 131 - Redo 1 ok 132 - Redo 2 ok 133 - Redo 3 ok 134 - Redo 4 ok 135 - Redo 5 ok 136 - Redo 6 ok 137 - Redo 7 ok 138 - Earlier 1 ok 139 - Earlier 2 ok 140 - Earlier 3 ok 141 - Earlier 4 ok 142 - Earlier 5 ok 143 - Earlier 6 ok 144 - Earlier 7 ok 145 - Later 1 ok 146 - Later 2 ok 147 - Later 3 ok 148 - Later 4 ok 149 - Later 5 ok 150 - Later 6 ok 151 - Later 7 ok 152 - Deleting midway start ok 153 - Deleting midway end ok 154 - Deleting midway both same piece ok 155 - Deleting at begin ok 156 - Deleting at end ok 157 - Mark invalid 1 ok 158 - Mark invalid 2 ok 159 - Mark at beginning of file ok 160 - Mark in the middle ok 161 - Mark at end of file ok 162 - Insert before mark ok 163 - Mark at beginning adjusted 1 ok 164 - Mark in the middle adjusted 1 ok 165 - Mark at end adjusted 1 ok 166 - Insert after mark ok 167 - Mark at beginning adjusted 2 ok 168 - Mark in the middle adjusted 2 ok 169 - Mark at end adjusted 2 ok 170 - Deleting mark ok 171 - Mark in the middle deleted ok 172 - Mark restored ok 173 - Mark at beginning of file ok 174 - Mark in the middle ok 175 - Mark at end of file ok 176 - Insert before mark ok 177 - Mark at beginning adjusted 1 ok 178 - Mark in the middle adjusted 1 ok 179 - Mark at end adjusted 1 ok 180 - Insert after mark ok 181 - Mark at beginning adjusted 2 ok 182 - Mark in the middle adjusted 2 ok 183 - Mark at end adjusted 2 ok 184 - Deleting mark ok 185 - Mark in the middle deleted ok 186 - Mark restored ok 187 - Mark at beginning of file ok 188 - Mark in the middle ok 189 - Mark at end of file ok 190 - Insert before mark ok 191 - Mark at beginning adjusted 1 ok 192 - Mark in the middle adjusted 1 ok 193 - Mark at end adjusted 1 ok 194 - Insert after mark ok 195 - Mark at beginning adjusted 2 ok 196 - Mark in the middle adjusted 2 ok 197 - Mark at end adjusted 2 ok 198 - Deleting mark ok 199 - Mark in the middle deleted ok 200 - Mark restored ok 201 - Mark at beginning of file ok 202 - Mark in the middle ok 203 - Mark at end of file ok 204 - Insert before mark ok 205 - Mark at beginning adjusted 1 ok 206 - Mark in the middle adjusted 1 ok 207 - Mark at end adjusted 1 ok 208 - Insert after mark ok 209 - Mark at beginning adjusted 2 ok 210 - Mark in the middle adjusted 2 ok 211 - Mark at end adjusted 2 ok 212 - Deleting mark ok 213 - Mark in the middle deleted ok 214 - Mark restored ok 215 - Delete everything 0 ok 216 - Creating state 0 ok 217 - Delete everything 1 ok 218 - Creating state 1 ok 219 - Delete everything 2 ok 220 - Creating state 2 ok 221 - Delete everything 3 ok 222 - Creating state 3 ok 223 - Undo to state 2 ok 224 - Undo to state 1 ok 225 - Delete everything 4 ok 226 - Creating state 4 ok 227 - Delete everything 5 ok 228 - Creating state 5 ok 229 - Delete everything 6 ok 230 - Creating state 6 ok 231 - Delete everything 7 ok 232 - Creating state 7 ok 233 - Undo along main branch to state 0 ok 234 - Advance to state 1 ok 235 - Advance to state 2 ok 236 - Advance to state 3 ok 237 - Advance to state 4 ok 238 - Advance to state 5 ok 239 - Advance to state 6 ok 240 - Advance to state 7 ok 241 - Restore state 0 ok 242 - Restore state 1 ok 243 - Restore state 2 ok 244 - Restore state 3 ok 245 - Restore state 4 ok 246 - Restore state 5 ok 247 - Restore state 6 ok 248 - Restore state 7 ok 249 - Revert to state 6 ok 250 - Revert to state 5 ok 251 - Revert to state 4 ok 252 - Revert to state 3 ok 253 - Revert to state 2 ok 254 - Revert to state 1 ok 255 - Revert to state 0 ok 256 - Redo along main branch to state 3 ok 257 - End of main branch 1..257 gmake[2]: Leaving directory '/home/pobj/vis-0.9/vis-0.9/test/core' gmake[2]: Entering directory '/home/pobj/vis-0.9/vis-0.9/test/lua' vis 0.9 +curses +lua +tre busted(1) not found, skipping tests gmake[2]: Leaving directory '/home/pobj/vis-0.9/vis-0.9/test/lua' gmake[2]: Entering directory '/home/pobj/vis-0.9/vis-0.9/test/vis' cleaning vis 0.9 +curses +lua +tre Lua paths used to load runtime files (? will be replaced by filename): ../../lua/?.lua ./?.lua ./?/init.lua /vis-0.9_writes_to_HOME/.config/vis/?.lua /vis-0.9_writes_to_HOME/.config/vis/?/init.lua /etc/vis/?.lua /etc/vis/?/init.lua /usr/local/share/vis/?.lua /usr/local/share/vis/?/init.lua /usr/local/share/lua/5.3/?.lua /usr/local/share/lua/5.3/?/init.lua /usr/local/lib/lua/5.3/?.lua /usr/local/lib/lua/5.3/?/init.lua Lua paths used to load C libraries (? will be replaced by filename): /usr/local/lib/lua/5.3/?.so /usr/local/lib/lua/5.3/loadall.so Compile time configuration Curses support: yes Lua support: yes Lua LPeg statically built-in: no TRE based regex support: yes POSIX ACL support: no SELinux support: no errors/filter PASS errors/pipe-in PASS insert-mode/autoindent PASS insert-mode/digraph PASS insert-mode/verbatim PASS interop/pre-save-grows PASS interop/pre-save-shrinks PASS mappings/insert-mode PASS motions/line-begin PASS motions/line-char-first PASS motions/line-char-last PASS motions/line-end PASS motions/next-end-of-bigword PASS motions/next-end-of-word PASS motions/next-start-of-bigword PASS motions/next-start-of-word PASS motions/percent PASS motions/prev-end-of-bigword PASS motions/prev-end-of-word PASS motions/to-left PASS motions/prev-start-of-bigword PASS motions/prev-start-of-word PASS motions/till-left PASS motions/till-right PASS motions/to-right PASS prompt/history PASS selections/align-indent-columns PASS selections/align-indent PASS selections/align PASS selections/complement-whole PASS selections/complement PASS selections/intersect-adjacent PASS selections/intersect-contained PASS selections/intersect-empty PASS selections/intersect-overlapping PASS selections/intersect-whole PASS selections/minus-adjacent PASS selections/minus-contained PASS selections/minus-empty PASS selections/minus-overlapping PASS selections/minus-whole PASS selections/new-above-first-below-last PASS selections/new-below-above PASS selections/new-end-of-line PASS selections/new-start-of-line PASS selections/normal-mode-wq PASS selections/odd-even PASS selections/remove-column PASS selections/select-match PASS selections/selections-rotate PASS selections/selections-trim PASS selections/union-adjacent PASS selections/union-contained PASS selections/union-empty PASS selections/union-overlapping PASS selections/union-whole PASS structural-regex/addresses/marks PASS structural-regex/addresses/round-down PASS structural-regex/addresses/round-up PASS text-objects/indentation PASS text-objects/lexer PASS text-objects/line PASS text-objects/search-result PASS visual-mode/orientation PASS Tests ok 64/64 gmake[2]: Leaving directory '/home/pobj/vis-0.9/vis-0.9/test/vis' gmake[2]: Entering directory '/home/pobj/vis-0.9/vis-0.9/test/sam' /usr/local/plan9/bin/sam vis 0.9 +curses +lua +tre Running test ./addresses/columns with sam ... OK Running test ./addresses/columns with vis ... OK Running test ./addresses/first-last with sam ... OK Running test ./addresses/first-last with vis ... OK Running test ./addresses/lines with sam ... OK Running test ./addresses/lines with vis ... OK Running test ./addresses/second with sam ... OK Running test ./addresses/second with vis ... OK Running test ./commands/filter-capitalize with sam ... OK Running test ./commands/filter-capitalize with vis ... FAIL Running test ./commands/group with sam ... OK Running test ./commands/group with vis ... OK Running test ./commands/long-text with sam ... OK Running test ./commands/long-text with vis ... OK Running test ./commands/loop-lines1 with sam ... OK Running test ./commands/loop-lines1 with vis ... OK Running test ./commands/loop-lines2 with sam ... OK Running test ./commands/loop-lines2 with vis ... OK Running test ./commands/loop-lines3 with sam ... OK Running test ./commands/loop-lines3 with vis ... OK Running test ./commands/loop-lines4 with sam ... OK Running test ./commands/loop-lines4 with vis ... OK Running test ./commands/loop-lines5 with sam ... OK Running test ./commands/loop-lines5 with vis ... OK Running test ./commands/loop-lines6 with sam ... OK Running test ./commands/loop-lines6 with vis ... OK Running test ./commands/loop-lines7 with sam ... OK Running test ./commands/loop-lines7 with vis ... OK Running test ./commands/loop-lines8 with sam ... OK Running test ./commands/loop-lines8 with vis ... OK Running test ./commands/loop-lines9 with sam ... OK Running test ./commands/loop-lines9 with vis ... OK Running test ./commands/pipe-in with sam ... OK Running test ./commands/pipe-in with vis ... FAIL Running test ./commands/pipe-out with sam ... OK Running test ./commands/pipe-out with vis ... FAIL Running test ./commands/repeated-shell with sam ... OK Running test ./commands/repeated-shell with vis ... FAIL Running test ./commands/unicode-replace with sam ... OK Running test ./commands/unicode-replace with vis ... OK Running test ./errors/conflict with sam ... OK Running test ./errors/conflict with vis ... OK Running test ./errors/read with sam ... OK Running test ./errors/read with vis ... OK Running test ./errors/unbalanced-group with sam ... OK Running test ./errors/unbalanced-group with vis ... OK Running test ./examples/comment-functions with sam ... OK Running test ./examples/comment-functions with vis ... OK Running test ./examples/delete-empty-lines with sam ... OK Running test ./examples/delete-empty-lines with vis ... OK Running test ./examples/swap-words with sam ... OK Running test ./examples/swap-words with vis ... OK Tests ok 22/26 gmake[2]: *** [Makefile:2: test] Error 1 gmake[2]: Leaving directory '/home/pobj/vis-0.9/vis-0.9/test/sam' gmake[1]: *** [Makefile:5: test] Error 2 gmake[1]: Leaving directory '/home/pobj/vis-0.9/vis-0.9/test' gmake: *** [Makefile:156: test] Error 2