Okan and I finally figured out what I was smoking when I wrote this
regress test: it's testing for correct tab spacing when displaying on a
terminal, correctly predicting the number of columns each tab will take
up (as naively counting each character as taking up exactly one column
will mess up the columnular output).

I replaced the systrace policy files with columns of numbers, which should make 
it obvious what's going on.

Any regress test masters please let me know if the style is good. Thanks!

Ray


Index: Makefile
===================================================================
RCS file: /home/cvs/src/regress/usr.bin/sdiff/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- Makefile    31 May 2016 17:28:14 -0000      1.3
+++ Makefile    1 Jun 2016 16:56:27 -0000
@@ -51,8 +51,8 @@ test-sflag: file1 file2 sflag.out
 test-wflag: file1 file2 wflag.out
        ${SDIFF} -w 40 ${.CURDIR}/file1 ${.CURDIR}/file2 | diff -u 
${.CURDIR}/wflag.out -
 
-test-tabs: tabs1 tabs2 tabs.out
-       ${SDIFF} ${.CURDIR}/tabs1 ${.CURDIR}/tabs2 | diff -u 
${.CURDIR}/tabs.out -
+test-tabs: tabs.in tabs.out
+       ${SDIFF} ${.CURDIR}/tabs.in ${.CURDIR}/tabs.in | diff -u 
${.CURDIR}/tabs.out -
 
 test-tabends: tabends tabends.out
        ${SDIFF} -w30 ${.CURDIR}/tabends /dev/null | diff -u 
${.CURDIR}/tabends.out -
Index: tabs.in
===================================================================
RCS file: tabs.in
diff -N tabs.in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tabs.in     1 Jun 2016 16:55:12 -0000
@@ -0,0 +1,11 @@
+12345678901234567890123456789012345678901234567890123456789012345678901234567890
+       
2345678901234567890123456789012345678901234567890123456789012345678901234567890
+1      
345678901234567890123456789012345678901234567890123456789012345678901234567890
+12     
45678901234567890123456789012345678901234567890123456789012345678901234567890
+123    
5678901234567890123456789012345678901234567890123456789012345678901234567890
+1234   
678901234567890123456789012345678901234567890123456789012345678901234567890
+12345  
78901234567890123456789012345678901234567890123456789012345678901234567890
+123456 
8901234567890123456789012345678901234567890123456789012345678901234567890
+1234567        
901234567890123456789012345678901234567890123456789012345678901234567890
+12345678       
01234567890123456789012345678901234567890123456789012345678901234567890
+123456789      
1234567890123456789012345678901234567890123456789012345678901234567890
Index: tabs.out
===================================================================
RCS file: /home/cvs/src/regress/usr.bin/sdiff/tabs.out,v
retrieving revision 1.3
diff -u -p -r1.3 tabs.out
--- tabs.out    14 Sep 2015 07:09:15 -0000      1.3
+++ tabs.out    1 Jun 2016 16:57:50 -0000
@@ -1,102 +1,11 @@
-Policy: /usr/bin/lynx, Emulation: native                          Policy: 
/usr/bin/lynx, Emulation: native
-                                                                >      
native-issetugid: permit
-                                                                >      
native-mprotect: permit
-                                                                >      
native-mmap: permit
-                                                                >      
native-sysctl: permit
-                                                                >      
native-fsread: filename eq "/var/run/ld.so.hints" then pe
-                                                                >      
native-fstat: permit
-       native-close: permit                                            
native-close: permit
-       native-connect: sockaddr eq "inet-[127.0.0.1]:53" then  |       
native-fsread: filename match "/usr/lib/libssl.so.*" then
-       native-connect: sockaddr match "inet-\\\[*\\\]:80" then |       
native-read: permit
-       native-exit: permit                                     |       
native-fsread: filename match "/usr/lib/libcrypto.so.*" t
-       native-fcntl: cmd eq "F_SETFD" then permit              |       
native-fsread: filename match "/usr/lib/libncurses.so.*" 
-       native-fsread: filename eq "/" then permit              |       
native-fsread: filename match "/usr/lib/libc.so.*" then p
-       native-fsread: filename match "/<non-existent filename> |       
native-munmap: permit
-       native-fsread: filename eq "/etc/lynx.cfg" then permit  |       
native-sigprocmask: permit
-       native-fsread: filename eq "/etc/malloc.conf" then perm         
native-fsread: filename eq "/etc/malloc.conf" then permit
-       native-fsread: filename eq "/etc/resolv.conf" then perm |       
native-getpid: permit
-       native-fsread: filename eq "/etc/utmp" then permit      <
-       native-fsread: filename eq "/home" then permit          <
-       native-fsread: filename eq "$HOME" then permit          <
-       native-fsread: filename eq "$HOME/.lynx-keymaps" then p <
-       native-fsread: filename eq "$HOME/.lynxrc" then permit  <
-       native-fsread: filename eq "$HOME/.mailcap" then permit <
-       native-fsread: filename eq "$HOME/.mime.types" then per <
-       native-fsread: filename eq "$HOME/.terminfo" then permi <
-       native-fsread: filename eq "$HOME/.terminfo.db" then pe <
-       native-fsread: filename eq "/obj" then permit           <
-       native-fsread: filename eq "/tmp" then permit                   
native-fsread: filename eq "/tmp" then permit
-                                                                >      
native-fswrite: filename match "/tmp/lynx-*" then permit
-       native-fsread: filename match "/tmp/lynx-*/." then perm         
native-fsread: filename match "/tmp/lynx-*/." then permit
-                                                                >      
native-fsread: filename eq "$HOME" then permit
-                                                                >      
native-fsread: filename eq "/etc/lynx.cfg" then permit
-                                                                >      
native-fsread: filename eq "/" then permit
-                                                                >      
native-fsread: filename eq "/usr/obj/bin/systrace/." then
-                                                                >      
native-fsread: filename eq "/usr/obj/bin" then permit
-                                                                >      
native-fcntl: permit
-                                                                >      
native-getdirentries: permit
-                                                                >      
native-lseek: permit
-                                                                >      
native-fsread: filename eq "/usr/obj" then permit
-       native-fsread: filename eq "/usr" then permit                   
native-fsread: filename eq "/usr" then permit
-       native-fsread: filename eq "/usr/bin" then permit               
native-fsread: filename eq "/usr/bin" then permit
-       native-fsread: filename eq "/usr/games" then permit             
native-fsread: filename eq "/usr/games" then permit
-       native-fsread: filename eq "/usr/include" then permit           
native-fsread: filename eq "/usr/include" then permit
-       native-fsread: filename eq "/usr/lib" then permit               
native-fsread: filename eq "/usr/lib" then permit
-       native-fsread: filename match "/usr/lib/libc.so.*" then <
-       native-fsread: filename match "/usr/lib/libcrypto.so.*" <
-       native-fsread: filename match "/usr/lib/libncurses.so.* <
-       native-fsread: filename match "/usr/lib/libssl.so.*" th <
-       native-fsread: filename eq "/usr/libdata" then permit           
native-fsread: filename eq "/usr/libdata" then permit
-       native-fsread: filename eq "/usr/libexec" then permit           
native-fsread: filename eq "/usr/libexec" then permit
-       native-fsread: filename eq "/usr/lkm" then permit               
native-fsread: filename eq "/usr/lkm" then permit
-       native-fsread: filename eq "/usr/local" then permit             
native-fsread: filename eq "/usr/local" then permit
-       native-fsread: filename eq "/usr/mdec" then permit              
native-fsread: filename eq "/usr/mdec" then permit
-       native-fsread: filename eq "/usr/obj" then permit       |       
native-fsread: filename eq "/home" then permit
-       native-fsread: filename eq "/usr/obj/bin" then permit   |       
native-fsread: filename eq "/obj" then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/." th |       
native-fsread: filename eq "$HOME/.lynxrc" then permit
-                                                                >      
native-fsread: filename match "/<non-existent filename>: 
-       native-fsread: filename eq "/usr/obj/bin/systrace/.mail         
native-fsread: filename eq "/usr/obj/bin/systrace/.mailca
-                                                                >      
native-fsread: filename eq "$HOME/.mailcap" then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/.mime         
native-fsread: filename eq "/usr/obj/bin/systrace/.mime.t
-                                                                >      
native-fsread: filename eq "$HOME/.mime.types" then permi
-                                                                >      
native-sigaction: permit
-                                                                >      
native-ioctl: permit
-                                                                >      
native-fsread: filename eq "$HOME/.terminfo.db" then perm
-                                                                >      
native-fsread: filename eq "$HOME/.terminfo" then permit
-       native-fsread: filename eq "/usr/share/misc/terminfo.db         
native-fsread: filename eq "/usr/share/misc/terminfo.db" 
-                                                                >      
native-pread: permit
-                                                                >      
native-write: permit
-                                                                >      
native-fsread: filename eq "$HOME/.lynx-keymaps" then per
-       native-fsread: filename eq "/var/run/dev.db" then permi         
native-fsread: filename eq "/var/run/dev.db" then permit
-       native-fsread: filename eq "/var/run/ld.so.hints" then  |       
native-fsread: filename eq "/etc/utmp" then permit
-       native-fstat: permit                                    <
-       native-fswrite: filename match "/tmp/lynx-*" then permi <
-       native-getdirentries: permit                            <
-       native-getpid: permit                                   <
-       native-gettimeofday: permit                             <
-       native-ioctl: permit                                    <
-       native-issetugid: permit                                <
-       native-lseek: permit                                    <
-       native-mmap: permit                                     <
-       native-mprotect: prot eq "PROT_READ" then permit        <
-       native-mprotect: prot eq "PROT_READ|PROT_EXEC" then per <
-       native-mprotect: prot eq "PROT_READ|PROT_WRITE" then pe <
-       native-mprotect: prot eq "PROT_READ|PROT_WRITE|PROT_EXE <
-       native-munmap: permit                                   <
-       native-nanosleep: permit                                <
-       native-poll: permit                                             
native-poll: permit
-       native-pread: permit                                    |       
native-nanosleep: permit
-       native-read: permit                                     |       
native-gettimeofday: permit
-       native-recvfrom: permit                                 |       
native-fsread: filename eq "/etc/resolv.conf" then permit
-       native-select: permit                                   <
-       native-sendto: true then permit                         <
-       native-sigaction: permit                                <
-       native-sigprocmask: permit                              <
-       native-socket: sockdom eq "AF_INET" and socktype eq "SO         
native-socket: sockdom eq "AF_INET" and socktype eq "SOCK
-                                                                >      
native-connect: sockaddr eq "inet-[127.0.0.1]:53" then pe
-                                                                >      
native-sendto: true then permit
-                                                                >      
native-select: permit
-                                                                >      
native-recvfrom: permit
-       native-socket: sockdom eq "AF_INET" and socktype eq "SO         
native-socket: sockdom eq "AF_INET" and socktype eq "SOCK
-       native-sysctl: permit                                   |       
native-connect: sockaddr match "inet-\\\[*\\\]:80" then p
-       native-write: permit                                    |       
native-exit: permit
+123456789012345678901234567890123456789012345678901234567890123   
123456789012345678901234567890123456789012345678901234567890123
+       2345678901234567890123456789012345678901234567890123456         
234567890123456789012345678901234567890123456789012345678
+1      3456789012345678901234567890123456789012345678901234567   1     
345678901234567890123456789012345678901234567890123456789
+12     4567890123456789012345678901234567890123456789012345678   12    
456789012345678901234567890123456789012345678901234567890
+123    5678901234567890123456789012345678901234567890123456789   123   
567890123456789012345678901234567890123456789012345678901
+1234   6789012345678901234567890123456789012345678901234567890   1234  
678901234567890123456789012345678901234567890123456789012
+12345  7890123456789012345678901234567890123456789012345678901   12345 
789012345678901234567890123456789012345678901234567890123
+123456 8901234567890123456789012345678901234567890123456789012   123456        
8901234567890123456789012345678901234567890123456
+1234567        9012345678901234567890123456789012345678901234567890123   
1234567       9012345678901234567890123456789012345678901234567
+12345678       01234567890123456789012345678901234567890123456   12345678      
0123456789012345678901234567890123456789012345678
+123456789      12345678901234567890123456789012345678901234567   123456789     
1234567890123456789012345678901234567890123456789
Index: tabs1
===================================================================
RCS file: tabs1
diff -N tabs1
--- tabs1       13 Sep 2015 17:08:04 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,72 +0,0 @@
-Policy: /usr/bin/lynx, Emulation: native
-       native-close: permit
-       native-connect: sockaddr eq "inet-[127.0.0.1]:53" then permit
-       native-connect: sockaddr match "inet-\\\[*\\\]:80" then permit
-       native-exit: permit
-       native-fcntl: cmd eq "F_SETFD" then permit
-       native-fsread: filename eq "/" then permit
-       native-fsread: filename match "/<non-existent filename>: *" then permit
-       native-fsread: filename eq "/etc/lynx.cfg" then permit
-       native-fsread: filename eq "/etc/malloc.conf" then permit
-       native-fsread: filename eq "/etc/resolv.conf" then permit
-       native-fsread: filename eq "/etc/utmp" then permit
-       native-fsread: filename eq "/home" then permit
-       native-fsread: filename eq "$HOME" then permit
-       native-fsread: filename eq "$HOME/.lynx-keymaps" then permit
-       native-fsread: filename eq "$HOME/.lynxrc" then permit
-       native-fsread: filename eq "$HOME/.mailcap" then permit
-       native-fsread: filename eq "$HOME/.mime.types" then permit
-       native-fsread: filename eq "$HOME/.terminfo" then permit
-       native-fsread: filename eq "$HOME/.terminfo.db" then permit
-       native-fsread: filename eq "/obj" then permit
-       native-fsread: filename eq "/tmp" then permit
-       native-fsread: filename match "/tmp/lynx-*/." then permit
-       native-fsread: filename eq "/usr" then permit
-       native-fsread: filename eq "/usr/bin" then permit
-       native-fsread: filename eq "/usr/games" then permit
-       native-fsread: filename eq "/usr/include" then permit
-       native-fsread: filename eq "/usr/lib" then permit
-       native-fsread: filename match "/usr/lib/libc.so.*" then permit
-       native-fsread: filename match "/usr/lib/libcrypto.so.*" then permit
-       native-fsread: filename match "/usr/lib/libncurses.so.*" then permit
-       native-fsread: filename match "/usr/lib/libssl.so.*" then permit
-       native-fsread: filename eq "/usr/libdata" then permit
-       native-fsread: filename eq "/usr/libexec" then permit
-       native-fsread: filename eq "/usr/lkm" then permit
-       native-fsread: filename eq "/usr/local" then permit
-       native-fsread: filename eq "/usr/mdec" then permit
-       native-fsread: filename eq "/usr/obj" then permit
-       native-fsread: filename eq "/usr/obj/bin" then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/." then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/.mailcap" then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/.mime.types" then 
permit
-       native-fsread: filename eq "/usr/share/misc/terminfo.db" then permit
-       native-fsread: filename eq "/var/run/dev.db" then permit
-       native-fsread: filename eq "/var/run/ld.so.hints" then permit
-       native-fstat: permit
-       native-fswrite: filename match "/tmp/lynx-*" then permit
-       native-getdirentries: permit
-       native-getpid: permit
-       native-gettimeofday: permit
-       native-ioctl: permit
-       native-issetugid: permit
-       native-lseek: permit
-       native-mmap: permit
-       native-mprotect: prot eq "PROT_READ" then permit
-       native-mprotect: prot eq "PROT_READ|PROT_EXEC" then permit
-       native-mprotect: prot eq "PROT_READ|PROT_WRITE" then permit
-       native-mprotect: prot eq "PROT_READ|PROT_WRITE|PROT_EXEC" then permit
-       native-munmap: permit
-       native-nanosleep: permit
-       native-poll: permit
-       native-pread: permit
-       native-read: permit
-       native-recvfrom: permit
-       native-select: permit
-       native-sendto: true then permit
-       native-sigaction: permit
-       native-sigprocmask: permit
-       native-socket: sockdom eq "AF_INET" and socktype eq "SOCK_DGRAM" then 
permit
-       native-socket: sockdom eq "AF_INET" and socktype eq "SOCK_STREAM" then 
permit
-       native-sysctl: permit
-       native-write: permit
Index: tabs2
===================================================================
RCS file: tabs2
diff -N tabs2
--- tabs2       13 Sep 2015 17:08:04 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,69 +0,0 @@
-Policy: /usr/bin/lynx, Emulation: native
-       native-issetugid: permit
-       native-mprotect: permit
-       native-mmap: permit
-       native-sysctl: permit
-       native-fsread: filename eq "/var/run/ld.so.hints" then permit
-       native-fstat: permit
-       native-close: permit
-       native-fsread: filename match "/usr/lib/libssl.so.*" then permit
-       native-read: permit
-       native-fsread: filename match "/usr/lib/libcrypto.so.*" then permit
-       native-fsread: filename match "/usr/lib/libncurses.so.*" then permit
-       native-fsread: filename match "/usr/lib/libc.so.*" then permit
-       native-munmap: permit
-       native-sigprocmask: permit
-       native-fsread: filename eq "/etc/malloc.conf" then permit
-       native-getpid: permit
-       native-fsread: filename eq "/tmp" then permit
-       native-fswrite: filename match "/tmp/lynx-*" then permit
-       native-fsread: filename match "/tmp/lynx-*/." then permit
-       native-fsread: filename eq "$HOME" then permit
-       native-fsread: filename eq "/etc/lynx.cfg" then permit
-       native-fsread: filename eq "/" then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/." then permit
-       native-fsread: filename eq "/usr/obj/bin" then permit
-       native-fcntl: permit
-       native-getdirentries: permit
-       native-lseek: permit
-       native-fsread: filename eq "/usr/obj" then permit
-       native-fsread: filename eq "/usr" then permit
-       native-fsread: filename eq "/usr/bin" then permit
-       native-fsread: filename eq "/usr/games" then permit
-       native-fsread: filename eq "/usr/include" then permit
-       native-fsread: filename eq "/usr/lib" then permit
-       native-fsread: filename eq "/usr/libdata" then permit
-       native-fsread: filename eq "/usr/libexec" then permit
-       native-fsread: filename eq "/usr/lkm" then permit
-       native-fsread: filename eq "/usr/local" then permit
-       native-fsread: filename eq "/usr/mdec" then permit
-       native-fsread: filename eq "/home" then permit
-       native-fsread: filename eq "/obj" then permit
-       native-fsread: filename eq "$HOME/.lynxrc" then permit
-       native-fsread: filename match "/<non-existent filename>: *" then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/.mailcap" then permit
-       native-fsread: filename eq "$HOME/.mailcap" then permit
-       native-fsread: filename eq "/usr/obj/bin/systrace/.mime.types" then 
permit
-       native-fsread: filename eq "$HOME/.mime.types" then permit
-       native-sigaction: permit
-       native-ioctl: permit
-       native-fsread: filename eq "$HOME/.terminfo.db" then permit
-       native-fsread: filename eq "$HOME/.terminfo" then permit
-       native-fsread: filename eq "/usr/share/misc/terminfo.db" then permit
-       native-pread: permit
-       native-write: permit
-       native-fsread: filename eq "$HOME/.lynx-keymaps" then permit
-       native-fsread: filename eq "/var/run/dev.db" then permit
-       native-fsread: filename eq "/etc/utmp" then permit
-       native-poll: permit
-       native-nanosleep: permit
-       native-gettimeofday: permit
-       native-fsread: filename eq "/etc/resolv.conf" then permit
-       native-socket: sockdom eq "AF_INET" and socktype eq "SOCK_DGRAM" then 
permit
-       native-connect: sockaddr eq "inet-[127.0.0.1]:53" then permit
-       native-sendto: true then permit
-       native-select: permit
-       native-recvfrom: permit
-       native-socket: sockdom eq "AF_INET" and socktype eq "SOCK_STREAM" then 
permit
-       native-connect: sockaddr match "inet-\\\[*\\\]:80" then permit
-       native-exit: permit

Reply via email to