fix for fs tests

2014-03-18 Thread Sergey Bronnikov
Somehow fstests from src/regress were broken.
Patch fix creation of temporary files and
add mark test target as required root permissions.
Ok?

Was: 3053 tests completed, 2738 failed.
Now: 3053 tests completed, 275 failed.

Another failes connected to abcense of syscalls (lchflags),
abcense of flags for chflags (like SF_SNAPSHOT). Do we need to
remove such tests?

P.S. pjd@ test source tree differs from OpenBSD test for at least
tests with ftruncate - https://github.com/pjd/pjdfstest
Is it worth to add absent tests?

Sergey B.
Index: Makefile
===
RCS file: /cvs/src/regress/sys/ffs/Makefile,v
retrieving revision 1.4
diff -u -p -u -r1.4 Makefile
--- Makefile18 Apr 2011 16:52:11 -  1.4
+++ Makefile16 Mar 2014 07:52:23 -
@@ -2,6 +2,8 @@
 
 PROG=  fstest
 
+REGRESS_ROOT_TARGETS=  run-regress-fstest
+
 mount:
dd if=/dev/zero of=${.CURDIR}/fakeobj bs=512 count=4k
vnconfig vnd0 ${.CURDIR}/fakeobj
Index: run
===
RCS file: /cvs/src/regress/sys/ffs/run,v
retrieving revision 1.1
diff -u -p -u -r1.1 run
--- run 30 Mar 2007 19:02:51 -  1.1
+++ run 16 Mar 2014 07:52:23 -
@@ -45,7 +45,7 @@ test_check()
 # Generate a random file/directory name.
 namegen()
 {
-  echo "fstest_`dd if=/dev/urandom bs=1k count=1 2>/dev/null | openssl md5`"
+  echo "fstest_`dd if=/dev/urandom bs=1k count=1 2>/dev/null | openssl md5 | 
awk '{ print $2 }'`"
 }
 
 for arg in $*; do


patch for calendar.openbsd

2011-09-24 Thread Sergey Bronnikov
calendar.openbsd updated by latest hackaton events
from http://openbsd.org/events.html

-- 
sergeyb@
Index: calendar.openbsd
===
RCS file: 
/home/estet/source/openbsd/src/usr.bin/calendar/calendars/calendar.openbsd,v
retrieving revision 1.33
diff -u -p -r1.33 calendar.openbsd
--- calendar.openbsd16 Feb 2007 13:16:06 -  1.33
+++ calendar.openbsd23 Sep 2011 23:47:16 -
@@ -9,8 +9,10 @@
 
 Jan 06 IPF gets integrated into the OpenBSD kernel, 1996
 Jan 06 NRL IPv6 addition to OpenBSD, 1999
+Jan 09  n2k10: Network hackathon Melbourne, Australia, 2010
 Jan 20 Bind 9 goes into the tree, 2003
 Jan 26 Anoncvs service inaugurated, 1996
+Jan 26  n2k9: Network hackathon Basel, Switzerland, 2009
 Jan 27 OpenBSD/amd64 port is added, from NetBSD, 2004
 Jan 29 ``second anoncvs server is 100 miles from the first'', 1996
 Jan 31 OpenBSD/cats port is added, from NetBSD, 2004
@@ -22,52 +24,78 @@ Feb 26  OpenBSD/Amiga gets ISA bus suppor
 Feb 26 bridge(4) transparent firewall added to OpenBSD, 1999
 Feb 28 Cryptographic services framework in OpenBSD, 2000
 Mar 10 OpenBSD/WWW translation started -- German, Spanish, Dutch, 2000
+Apr 01  k2k11: Kernel hackathon Hafnarfjordur, Iceland, 2011
 Apr 01 OpenBSD/hppa64 port is added, 2005
+Apr 10  f2k7: Focused on Filesystems Vienna, Austria, 2007
 Apr 16 OpenBSD/i386 is ELF, 2003
 Apr 19 OpenBSD/solbourne port is added, 2005
 Apr 21 OpenBSD/luna88k port is added, 2004
+Apr 24  pf2k4: Focused on pf development Sechelt, BC, 2004
 Apr 27 i386/PAE work integrated, 2006
 May 01 OpenBSD 3.3 released, exploiting W^X, 2003
+May 05  n2k8: Network hackathon Ito, Japan, 2008
+May 08  c2k3: General hackathon Calgary, Alberta, 2003
 May 09 First commit to OpenBSD stable branch, OPENBSD_2_7, 2000
 May 09  OpenBSD/aviion port is added, 2006
 May 10 c2k3 hackathon, Calgary, Canada, 51 developers, 2003
 May 19 OpenBSD 2.3 released, including ``ports'' system, 1998
-May 21 c2k5 hackathon, 60 developers and Sitting Idol, 2005
+May 21  c2k6: General hackathon Calgary, Alberta ,2006
+May 21  c2k5: General hackathon Calgary, Alberta, 2005
 May 24 OpenBSD gets a trunk(4), 2005
+May 25  c2k7: General hackathon Calgary, Alberta, 2007
+May 30  c2k9: General hackathon Edmonton, Alberta, 2009
 May 29 IPF is removed for license incompatibility, 2001
 May 29 OpenBSD/armish port is added, 2006
 May 31 Initial cut at OpenNTP, 2004
 Jun 01 OpenBSD 2.1 released, first time on CD (double set), 1997
+Jun 04  c2k2: General hackathon Calgary, Alberta, 2002
 Jun 04 First hackathon, Calgary, Canada, 10 developers, 1999
 Jun 04 c2k2 hackathon, "Shutup and Hack", Calgary, Canada, 42 developers, 2002
+Jun 06  c2k8: General hackathon Edmonton, Alberta, 2008
+Jun 14  r2k6: Focused on network routing Hamburg, Germany, 2006
 Jun 15 c2k hackathon, Calgary, Canada, 18 developers, 2000
 Jun 15 OpenBSD 2.7 released, including OpenSSH, 2000
-Jun 19 c2k4 hackathon, Calgary, Canada, 46 developers, 2004
+Jun 19 c2k4 General hackathon, Calgary, Canada, 46 developers, 2004
 Jun 21 !c2k1 hackathon, Cambridge, MA, 35 developers, 2001
 Jun 23 OpenBSD/hppa started, based on Utah Lites and OSF MkLinux, 1998
 Jun 24 PF added. Insane amounts of work done by dhartmei@, 2001
 Jul 01 OpenBSD 1.2 released on ftp, 1996
 Jul 01 add strlcpy/strlcat, safe and sensible string copy/append, 1998
+Jul 02  c2k11: General hackathon Edmonton, Alberta, Canada, 2001
 Jul 11 OpenBSD goes wireless w/ if_wi addition, 1999
 Jul 23 OpenBSD goes multimedia with Brooktree 848 support, 1998
 Jul 24 Non-executable stack on most architectures, 2002
 Jul 25 Gigabit speed to OpenBSD with the addition of if_ti, 1999
+Aug 07  f2k9: Filesystem/uvm hackathon Stockholm, Sweden, 2009
 Aug 11 OpenBSD/sparc is ELF, 2002
 Aug 12 OpenBSD/sparc is switched to wscons, 2002
 Aug 16 IPX network stack added to OpenBSD, from FreeBSD, 1996
 Aug 17 c2k1-II hackathon, Washington D.C., 12 developers, 2001
 Aug 17 OpenBSD/sparc64 port is added, from NetBSD, 2001
+Aug 28  k2k6: Focused on IPSEC and IKE Schloss Kransberg, Germany, 2006
+Sep 16  s2k11: General hackathon Ljubljana, Slovenia, 2011
+Sep 19  j2k10: mini-hackathon in Japan Akiyamago, Sake Mura, Nagano, Japan, 
2010
 Sep 26 OpenSSH born, Sunday 11:56 MST, 1999
 Sep 29 OpenBSD/hppa gets PCI bus support, 2003
 Oct 06 OpenBSD/landisk port added, 2006
+Oct 09  p2k9: Ports hackathon Budapest, Hungary, 2009
 Oct 17 CARP added, introducing OpenBSD into High Availability market, 2003
+Oct 18  p2k6: Focused on ports Budapest, Hungary, 2006
 Oct 18 OpenBSD born, Wednesday 08:37:01 GMT, 1995
 Oct 18 OpenBSD/mvme88k port added, from nivas, based on MACH/luna88k, 1995
+Oct 22  p2k7: Focused on ports Budapest, Hungary, 2007
+Oct 23  p2k10: Ports hackathon Budapest, Hungary, 2010
+Oct 24  p2k8: Ports hackathon Budapest, Hungary, 2008
 Oct 29 OpenBSD 3.6 released, featuring i386 and amd64 SMP, 2004
 Oct 30 OpenBSD 3.4 released, implementing W^X on i386 and AES in VIA C3,

parallels pci id

2011-10-11 Thread Sergey Bronnikov
Usually pci vendor and products id generated in source tree 
from sys/dev/pcidevs. 
But that file has wrong vendor and product id's for Parallels
virtual devices.

I am change it to proper values:

vga1 at pci1 dev 0 function 0 "Parallels Video" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
"Parallels Tools" rev 0x00 at pci0 dev 3 function 0 not configured

Please review and commit patch.

P.S. cvs annotate shows me source of that incorrect data:
1.1082   (brad 25-Jun-06): vendor   PARALLELS   0x  
Parallels
1.1082   (brad 25-Jun-06): /* Parallels products */
1.1082   (brad 25-Jun-06): product PARALLELS TOOLS  0x1112  
Tools
1.1082   (brad 25-Jun-06): product PARALLELS VIDEO  0x1121  
Video

-- 
sergeyb@
Index: pcidevs
===
RCS file: /home/estet/source/openbsd/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1623
diff -u -p -r1.1623 pcidevs
--- pcidevs 23 Sep 2011 08:54:25 -  1.1623
+++ pcidevs 11 Oct 2011 14:19:50 -
@@ -343,7 +343,7 @@ vendor  ADP 0x9004  Adaptec
 vendor ADP20x9005  Adaptec
 vendor ATRONICS0x907f  Atronics
 vendor NETMOS  0x9710  NetMos
-vendor PARALLELS   0x  Parallels
+vendor PARALLELS   0x1ab8  Parallels
 vendor 3COM2   0xa727  3Com
 vendor TIGERJET0xe159  TigerJet Network
 vendor ENDACE  0xeace  Endace
@@ -4681,8 +4681,8 @@ product PDC QSTOR_SATA0x2068  QStor SAT
 product PE GNIC2   0x0911  PMC/GNIC2
 
 /* Parallels products */
-product PARALLELS TOOLS0x1112  Tools
-product PARALLELS VIDEO0x1121  Video
+product PARALLELS TOOLS0x4000  Tools
+product PARALLELS VIDEO0x4005  Video
 
 /* PC Tech products */
 product PCTECH RZ1000  0x1000  RZ1000



Re: parallels pci id

2011-10-11 Thread Sergey Bronnikov
On 15:25 Tue 11 Oct , Brad wrote:
> On 11/10/11 10:26 AM, Sergey Bronnikov wrote:
> > Usually pci vendor and products id generated in source tree
> > from sys/dev/pcidevs.
> > But that file has wrong vendor and product id's for Parallels
> > virtual devices.
> >
> > I am change it to proper values:
> >
> > vga1 at pci1 dev 0 function 0 "Parallels Video" rev 0x00
> > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> > wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> > "Parallels Tools" rev 0x00 at pci0 dev 3 function 0 not configured
> >
> > Please review and commit patch.
> 
> The diff is wrong as is. Add the new vendor id as PARALLELS2. Also
> the vendor id wasn't sorted properly.. add it in between AWT and
> FUSIONIO up above. Look at the Adaptec entries for an example of
> how to do this.

fixed patch attached


> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 

-- 
sergeyb@
Index: pcidevs
===
RCS file: /home/estet/source/openbsd/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1623
diff -u -p -r1.1623 pcidevs
--- pcidevs 23 Sep 2011 08:54:25 -  1.1623
+++ pcidevs 11 Oct 2011 20:30:42 -
@@ -311,6 +311,7 @@ vendor  JMICRON 0x197b  JMicron
 vendor PHISON  0x1987  Phison
 vendor ASPEED  0x1a03  ASPEED Technology
 vendor AWT 0x1a3b  AWT
+vendor PARALLELS2  0x1ab8  Parallels
 vendor FUSIONIO0x1aed  Fusion-io
 vendor QUMRANET0x1af4  Qumranet
 vendor ASMEDIA 0x1b21  ASMedia
@@ -4683,6 +4684,8 @@ product PE GNIC2  0x0911  PMC/GNIC2
 /* Parallels products */
 product PARALLELS TOOLS0x1112  Tools
 product PARALLELS VIDEO0x1121  Video
+product PARALLELS TOOLS2   0x4000  Tools
+product PARALLELS VIDEO2   0x4005  Video
 
 /* PC Tech products */
 product PCTECH RZ1000  0x1000  RZ1000



Re: parallels pci id

2011-10-12 Thread Sergey Bronnikov
patch was corrected after comments from Brad (in CC)
please commit

On 18:26 Tue 11 Oct , Sergey Bronnikov wrote:
> Usually pci vendor and products id generated in source tree 
> from sys/dev/pcidevs. 
> But that file has wrong vendor and product id's for Parallels
> virtual devices.
> 
> I am change it to proper values:
> 
>   vga1 at pci1 dev 0 function 0 "Parallels Video" rev 0x00
>   wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
>   wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
>   "Parallels Tools" rev 0x00 at pci0 dev 3 function 0 not configured
> 
> Please review and commit patch.
> 
> P.S. cvs annotate shows me source of that incorrect data:
> 1.1082   (brad 25-Jun-06): vendor   PARALLELS   0x  
> Parallels
> 1.1082   (brad 25-Jun-06): /* Parallels products */
> 1.1082   (brad 25-Jun-06): product PARALLELS TOOLS  
> 0x1112  Tools
> 1.1082   (brad 25-Jun-06): product PARALLELS VIDEO  
> 0x1121  Video
> 
> -- 
> sergeyb@

-- 
sergeyb@
Index: pcidevs
===
RCS file: /home/estet/source/openbsd/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1623
diff -u -p -r1.1623 pcidevs
--- pcidevs 23 Sep 2011 08:54:25 -  1.1623
+++ pcidevs 11 Oct 2011 21:20:56 -
@@ -311,6 +311,7 @@ vendor  JMICRON 0x197b  JMicron
 vendor PHISON  0x1987  Phison
 vendor ASPEED  0x1a03  ASPEED Technology
 vendor AWT 0x1a3b  AWT
+vendor PARALLELS2  0x1ab8  Parallels
 vendor FUSIONIO0x1aed  Fusion-io
 vendor QUMRANET0x1af4  Qumranet
 vendor ASMEDIA 0x1b21  ASMedia
@@ -4683,6 +4684,8 @@ product PE GNIC2  0x0911  PMC/GNIC2
 /* Parallels products */
 product PARALLELS TOOLS0x1112  Tools
 product PARALLELS VIDEO0x1121  Video
+product PARALLELS2 TOOLS   0x4000  Tools
+product PARALLELS2 VIDEO   0x4005  Video
 
 /* PC Tech products */
 product PCTECH RZ1000  0x1000  RZ1000



mention opensmtpd mail archive on a web page

2019-05-06 Thread Sergey Bronnikov
diff --git a/opensmtpd/list.html b/opensmtpd/list.html
index cdb66803b..97e55d3df 100644
--- a/opensmtpd/list.html
+++ b/opensmtpd/list.html
@@ -38,7 +38,8 @@
 
   General OpenSMTPD user discussion list
   General purpose discussions, issues and ideas may be discussed on
-  our mailto:m...@opensmtpd.org";>m...@opensmtpd.org list. The
+  our mailto:m...@opensmtpd.org";>m...@opensmtpd.org list
+  (https://www.mail-archive.com/misc@opensmtpd.org/";>Archive). The
   list is not moderated, however registration is required.
   
   To register, simply send a mail to

Sergey



mess with regression tests

2017-12-02 Thread Sergey Bronnikov
Hello,

openbsd has a regression testuite in a base tree. Testset for each
component is in a separate directory, Makefiles for each testsuite uses
bsd.regress.mk framework and connected to the root Makefile. So it is
easy to run overall testsuite with 'make regress'.

But tests for some utilities are placed with sources and not linked to
Makefiles. Looks like it is dead, unusable code and broken tests.
It means that no one never run these tests.
I went through these abandoned tests:

- bin/ed/test

connected to the Makefile in a source directory, tests looks broken.

- lib/libexpat/tests/

tests requires external unit testing framework (check).

- usr.bin/sed/TEST

directory contains several tests, but there no infrustructure to run
them and files with expected results. Moreover the same tests are
present in regress/usr.bin/sed dir.

- gnu/usr.bin/binutils/gdb/testsuite

test suite requires dejagnu package from ports, it is not connected to
the Makefile in sources and tests have many fails (about a couple of
hundreds).

- usr.bin/m4/TEST

dir contains examples of m4 files not tests,
Makefile is absent.

Similar situation with these tests:

- gnu/usr.bin/gcc/gcc/testsuite
- usr.bin/ctags/test
- lib/libssl/test
- lib/libkeynote/testsuite

Are there real reasons to keep these tests separately?

Sergey



Re: mess with regression tests

2017-12-06 Thread Sergey Bronnikov
On 16:56 Mon 04 Dec , Sebastian Benoit wrote:
> Sergey Bronnikov(serg...@bronevichok.ru) on 2017.12.02 15:31:21 +0300:
> > Are there real reasons to keep these tests separately?
> 
> the ones marked (2) should probably be kept, removing them makes the diff to
> upstream larger without any gain.

Thanks for explanation! I forgot that OpenBSD has amount of non-native
code outside of gnu/ and depends on upstreams.

> For all of them, you are invited to submit new tests based on the regress/
> framework or update existing ones if there are any.

Will do :)



Re: mess with regression tests

2017-12-06 Thread Sergey Bronnikov
On 18:01 Mon 04 Dec , Alexander Bluhm wrote:
> On Mon, Dec 04, 2017 at 04:56:49PM +0100, Sebastian Benoit wrote:
> > > connected to the Makefile in a source directory, tests looks broken.
> > > 
> > > - lib/libexpat/tests/
> > 
> > (2), but regress/lib/libexpat exists
> 
> I update the libexpat tests together with libexpat sources, so they
> reside in src/lib/libexpat.  In regress/lib/libexpat I have placed
> bsd.regress.mk compatible scripts that run them regularly.
> 
> I would recomment this also for other tests imported from upstream.
> 
> bluhm

Patch below adds similar scripts for ed, perl, gdb, libkeynote, ctags,
m4 and sed. Patch looks huge but it is actually simple. Anyway if you
want splitted patch I will resend.

diff --git a/bin/ed/test/Makefile b/bin/ed/test/Makefile
index de3e737f7fb..5e07c8b65fb 100644
--- a/bin/ed/test/Makefile
+++ b/bin/ed/test/Makefile
@@ -2,7 +2,7 @@
 #  $NetBSD: Makefile,v 1.11 1995/03/21 09:05:14 cgd Exp $
 
 SHELL= /bin/sh
-ED=../obj/ed
+ED=/bin/ed
 
 all: check
@:
diff --git a/regress/bin/ed/Makefile b/regress/bin/ed/Makefile
new file mode 100644
index 000..c61b326ab79
--- /dev/null
+++ b/regress/bin/ed/Makefile
@@ -0,0 +1,14 @@
+# $OpenBSD $
+
+EDDIR= ${.CURDIR}/../../../bin/ed/test/
+REGRESS_TARGETS= run-regress-ed
+
+run-regress-ed:
+   make -C ${EDDIR} check
+
+clean:
+   make -C ${EDDIR} clean
+
+.PHONY: ${REGRESS_TARGETS}
+
+.include 
diff --git a/regress/gnu/Makefile b/regress/gnu/Makefile
index 999364693e6..e196fbe7e36 100644
--- a/regress/gnu/Makefile
+++ b/regress/gnu/Makefile
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile,v 1.2 2002/02/23 01:25:10 art Exp $
 
-SUBDIR+= egcs
+SUBDIR+= egcs usr.bin
 
 install:
 
diff --git a/regress/gnu/usr.bin/Makefile b/regress/gnu/usr.bin/Makefile
new file mode 100644
index 000..addc935809b
--- /dev/null
+++ b/regress/gnu/usr.bin/Makefile
@@ -0,0 +1,7 @@
+# $OpenBSD $
+
+SUBDIR+= perl binutils
+
+install:
+
+.include 
diff --git a/regress/gnu/usr.bin/binutils/Makefile 
b/regress/gnu/usr.bin/binutils/Makefile
new file mode 100644
index 000..ff231bd0f83
--- /dev/null
+++ b/regress/gnu/usr.bin/binutils/Makefile
@@ -0,0 +1,7 @@
+# $OpenBSD $
+
+SUBDIR+= gdb
+
+install:
+
+.include 
diff --git a/regress/gnu/usr.bin/binutils/gdb/Makefile 
b/regress/gnu/usr.bin/binutils/gdb/Makefile
new file mode 100644
index 000..75e082b53e5
--- /dev/null
+++ b/regress/gnu/usr.bin/binutils/gdb/Makefile
@@ -0,0 +1,14 @@
+# gdb testsuite requires dejagnu package
+
+GDBDIR= ${.CURDIR}/../../../../../gnu/usr.bin/binutils/gdb/testsuite
+
+GDB?= /usr/bin/gdb
+REGRESS_TARGETS= run-regress-gdb
+CLEANFILES= gdb.sum gdb.log
+
+run-regress-gdb:
+   cd ${GDBDIR} && sh ./configure && runtest -tool gdb GDB=${GDB}
+
+.PHONY: ${REGRESS_TARGETS}
+
+.include 
diff --git a/regress/gnu/usr.bin/perl/Makefile 
b/regress/gnu/usr.bin/perl/Makefile
new file mode 100644
index 000..fd2dd9859d4
--- /dev/null
+++ b/regress/gnu/usr.bin/perl/Makefile
@@ -0,0 +1,14 @@
+PERLDIR= ${.CURDIR}/../../../../gnu/usr.bin/perl/
+
+REGRESS_TARGETS= run-regress-perl
+
+run-regress-perl:
+   ${MAKE} -C ${PERLDIR} -f Makefile.bsd-wrapper
+   ${MAKE} -C ${PERLDIR} -f Makefile.bsd-wrapper test
+
+clean:
+   ${MAKE} -C ${PERLDIR} clean
+
+.PHONY: ${REGRESS_TARGETS}
+
+.include 
diff --git a/regress/lib/libkeynote/Makefile b/regress/lib/libkeynote/Makefile
new file mode 100644
index 000..2bd874682fc
--- /dev/null
+++ b/regress/lib/libkeynote/Makefile
@@ -0,0 +1,23 @@
+# $OpenBSD $
+
+KEYNOTEDIR=${.CURDIR}/../../../lib/libkeynote/testsuite/
+
+REGRESS_TARGETS = run-regress-keynote
+
+run-regress-keynote:
+   keynote verify -e ${KEYNOTEDIR}/test-env \
+   -r false,maybe,probably,true \
+   -k ${KEYNOTEDIR}/auth1 -k ${KEYNOTEDIR}auth2  \
+   -k ${KEYNOTEDIR}/auth3 -k ${KEYNOTEDIR}/auth4  \
+   -l ${KEYNOTEDIR}/test-assertion1 \
+   -l ${KEYNOTEDIR}/test-assertion2 \
+   -l ${KEYNOTEDIR}/test-assertion3 \
+   -l ${KEYNOTEDIR}/test-assertion4 \
+   -l ${KEYNOTEDIR}/test-assertion5 \
+   -l ${KEYNOTEDIR}/test-assertion6 \
+   -l ${KEYNOTEDIR}/test-assertion7
+
+.PHONY: ${REGRESS_TARGETS}
+
+.include 
diff --git a/regress/usr.bin/ctags/Makefile b/regress/usr.bin/ctags/Makefile
new file mode 100644
index 000..5d2f07039d8
--- /dev/null
+++ b/regress/usr.bin/ctags/Makefile
@@ -0,0 +1,15 @@
+# $OpenBSD $
+
+CTAGSDIR=  ${.CURDIR}/../../../usr.bin/ctags/test/
+
+REGRESS_TARGETS = run-regress-ctags
+CLEANFILES= ${CTAGSDIR}/ctags.out
+
+run-regress-ctags:
+   ctags -f ${CTAGSDIR}/ctags.out ${CTAGSDIR}/ctags.test && \
+   cmp -s ${CTAGSDIR}/ctags.out ${CTAGSDIR}/ctags.tags
+
+.PHONY: ${REGRESS_TARGETS}
+
+.include 
diff --git a/regress/usr.bin/m4/Makefile b/regress/usr.bin/m4/Makefile
index cc452c471fe..25660b9e751 100644
--- a/regress/usr.bin/m4/Makefile
+++ b/regress/usr.b

openbsd code coverage

2017-12-09 Thread Sergey Bronnikov
Hi,

I'm working on measuring OpenBSD code coverage.
The process still has drawbacks,
but some results are already available.

https://ligurio.github.io/openbsd-tests/6.2/coverage.html

Sergey



new variable in bsd.regress.mk

2017-12-09 Thread Sergey Bronnikov
Hi,

some regression tests depends on 3rd party modules and now some tests contains
duplicate code which check precense of dependencies and install them in case of
abcense. Perhaps it would be better to care about dependencies in the
bsd.regress.mk and specify dependencies in special variable in tests.
This patch intoduce PKG_REQUIRED var and adopt tests where it is required.

diff --git a/regress/sys/fileops/Makefile.inc b/regress/sys/fileops/Makefile.inc
index d6d2c05781e..b327a383c8f 100644
--- a/regress/sys/fileops/Makefile.inc
+++ b/regress/sys/fileops/Makefile.inc
@@ -1,7 +1,6 @@
 # $OpenBSD: Makefile.inc,v 1.3 2017/08/15 17:16:39 sf Exp $
 
-PERL_REQUIRE != perl -e 'eval { require File::Slurp } or print $$@'
-
+PKG_REQUIRED=  p5-File-Slurp
 TESTS1=create read mmap
 TESTS2=many_files_root many_files_subdir file_write
 TESTS= ${TESTS1} ${TESTS2}
@@ -48,16 +47,9 @@ run-regress-${t}: stamp-setup ${.OBJDIR}/../fileops
 
 .for t in ${TESTS2}
 REGRESS_TARGETS+=  run-regress-${t}
-.if ! empty(PERL_REQUIRE)
-run-regress-${t}:
-   @echo "${PERL_REQUIRE}"
-   @echo "Install the p5-File-Slurp package to run the fileops ${t} 
subtest"
-   @echo SKIPPED
-.else
 run-regress-${t}: stamp-setup
@echo '\n $@ '
perl ${.CURDIR}/../fileops2.pl ${t} ${FILEOPS_MNT}
-.endif
 .endfor
 
 REGRESS_TARGETS+=  run-regress-cleanup
diff --git a/regress/sys/net/Makefile b/regress/sys/net/Makefile
index d56a7cc9189..653060732ec 100644
--- a/regress/sys/net/Makefile
+++ b/regress/sys/net/Makefile
@@ -1,5 +1,7 @@
 #  $OpenBSD: Makefile,v 1.13 2017/11/17 10:29:16 bluhm Exp $
 
+PKG_REQUIRED += scapy py-libdnet
+
 SUBDIR +=  etherip loop
 SUBDIR +=  pf_divert pf_forward pf_fragment pf_print pf_state pf_table
 SUBDIR +=  rdomains rtable vxlan
diff --git a/regress/sys/net/pf_divert/Makefile 
b/regress/sys/net/pf_divert/Makefile
index 2c5f538ed8d..aaad41af726 100644
--- a/regress/sys/net/pf_divert/Makefile
+++ b/regress/sys/net/pf_divert/Makefile
@@ -3,20 +3,8 @@
 # The following ports must be installed for the regression tests:
 # p5-IO-Socket-INET6   object interface for AF_INET and AF_INET6 domain sockets
 # p5-Socket6   Perl defines relating to AF_INET6 sockets
-#
-# Check wether all required perl packages are installed.  If some
-# are missing print a warning and skip the tests, but do not fail.
-
-PERL_REQUIRE !=perl -Mstrict -Mwarnings -e ' \
-eval { require IO::Socket::INET6 } or print $@; \
-eval { require Socket6 } or print $@; \
-'
-.if ! empty(PERL_REQUIRE)
-regress:
-   @echo "${PERL_REQUIRE}"
-   @echo install these perl packages for additional tests
-   @echo SKIPPED
-.endif
+
+PKG_REQUIRED +=p5-IO-Socket-INET6 p5-Socket6
 
 # Fill out these variables as you have to test divert with the pf
 # kernel running on a remote machine.  You have to specify a local
diff --git a/regress/sys/net/pflow/Makefile b/regress/sys/net/pflow/Makefile
index 122fe9b13e9..d6acd95d7ea 100644
--- a/regress/sys/net/pflow/Makefile
+++ b/regress/sys/net/pflow/Makefile
@@ -27,6 +27,7 @@
 # Destroy it in the end.
 
 REGRESS_TARGETS=template_v10 flow_10_4 flow_10_6 ifconfig
+PKG_REQUIRED   += p5-Net-Flow
 
 PROG=   gen_traffic
 LDADD=  -levent
diff --git a/regress/sys/netinet/arp/Makefile b/regress/sys/netinet/arp/Makefile
index 7081e928b99..8578c2b6614 100644
--- a/regress/sys/netinet/arp/Makefile
+++ b/regress/sys/netinet/arp/Makefile
@@ -6,17 +6,7 @@
 # py-libdnet  python interface to libdnet
 # scapy   powerful interactive packet manipulation in python
 
-.if ! (make(clean) || make(cleandir) || make(obj))
-# Check wether all required python packages are installed.  If some
-# are missing print a warning and skip the tests, but do not fail.
-PYTHON_IMPORT != python2.7 -c 'from scapy.all import *' 2>&1 || true
-.endif
-.if ! empty(PYTHON_IMPORT)
-regress:
-   @echo '${PYTHON_IMPORT}'
-   @echo install python and the scapy module for additional tests
-   @echo SKIPPED
-.endif
+PKG_REQUIRED += python-2.7 scapy py-libdnet
 
 # This test needs a manual setup of two machines
 # Set up machines: LOCAL REMOTE
diff --git a/regress/sys/netinet/frag/Makefile 
b/regress/sys/netinet/frag/Makefile
index 195634b5d07..381cc6950dc 100644
--- a/regress/sys/netinet/frag/Makefile
+++ b/regress/sys/netinet/frag/Makefile
@@ -6,20 +6,7 @@
 # py-libdnet  python interface to libdnet
 # scapy   powerful interactive packet manipulation in python
 
-.if ! (make(clean) || make(cleandir) || make(obj))
-# Check wether all required python packages are installed.  If some
-# are missing print a warning and skip the tests, but do not fail.
-PYTHON_IMPORT !!= python2.7 -c 'from scapy.all import *' 2>&1 || true
-.endif
-
-.if ! empty(PYTHON_IMPORT)
-.BEGIN:
-   @true
-regress:
-   @echo '${PYTHON_IMPORT}'
-   @echo Install python and the scapy module for additional tests.
-   @ec

Re: mess with regression tests

2018-01-05 Thread Sergey Bronnikov
On 23:36 Wed 13 Dec , Alexander Bluhm wrote:
> On Wed, Dec 06, 2017 at 11:19:18PM +0300, Sergey Bronnikov wrote:
> > Patch below adds similar scripts for ed, perl, gdb, libkeynote, ctags,
> > m4 and sed. Patch looks huge but it is actually simple. Anyway if you
> > want splitted patch I will resend.
> 
> It is not the patch that is too big but the task.  Try to start
> with one test, get it integrated, learn, and then do the next.
> 
> I have only looked at ed as it is the first in your list.
> 
> It generates a lot of errors:
> *** The script =.red exited abnormally  ***
> *** The script a1.red exited abnormally  ***
> *** The script i1.red exited abnormally  ***
> *** The script i3.red exited abnormally  ***
> *** The script k1.red exited abnormally  ***
> *** The script nl.red exited abnormally  ***
> *** The script r1.red exited abnormally  ***
> *** The script s2.red exited abnormally  ***
> *** The script =.red exited abnormally  ***
> *** The script a1.red exited abnormally  ***
> *** The script i1.red exited abnormally  ***
> *** The script i3.red exited abnormally  ***
> *** The script k1.red exited abnormally  ***
> *** The script nl.red exited abnormally  ***
> *** The script r1.red exited abnormally  ***
> *** The script s2.red exited abnormally  ***
> 
> I think they have to be fixed, before I will run them.  Importing
> failing tests is not a good idea.
> 
> Although the tests fail, the regress framework does not recognize
> it.  Running tests and not caring about the result is pointless.
> 
> Then it creates temparary files in /usr/src/bin/ed/test.  Ideally
> they should be in /usr/src/regress/bin/ed/obj and removed by make
> clean.  If this is too complicated, we could leave it as it is.
> But we should at least try it.
> 
> So please select one regress to start with, make it nicely pass and
> fail, fix the bugs and get your work commited.  I will help you
> there.
> 
> bluhm

I have updated patch for bin/ed and now the most part of tests are
works.

Tests =-err.ed, a1-err.ed, i1-err.ed, k1-err.ed and r1-err.ed
marked as skipped targets because README describe them as known failed.
Tests i3.red, nl.red and s2.red still fails and require some attention.

Patch requires some actions:
- rename =.err to something else, for example eq.err,
 otherwise make will fail
- create regress/bin/ed/obj directory for a temporary files

I hardcoded an absolute path to the test dir in a makescripts target.
I don't know why but this doesn't work with $TESTDIR.

Sergey


diff --git a/bin/ed/test/=.err b/bin/ed/test/eq.err
similarity index 100%
rename from bin/ed/test/=.err
rename to bin/ed/test/eq.err
diff --git a/bin/ed/test/mkscripts.sh b/bin/ed/test/mkscripts.sh
index 2bf9b213235..ef8299770c7 100644
--- a/bin/ed/test/mkscripts.sh
+++ b/bin/ed/test/mkscripts.sh
@@ -6,6 +6,8 @@
 
 PATH="/bin:/usr/bin:/usr/local/bin/:."
 ED=$1
+OBJ=$2
+TESTS=$3
 [ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
 
 for i in *.t; do
@@ -31,13 +33,13 @@ for i in *.t; do
#!/bin/sh -
$ED - <<\EOT
H
-   r $base.d
+   r $TESTS/$base.d
w $base.o
EOT
.
-2r $i
-   w $base.ed
-   !chmod +x $base.ed
+   w $OBJ/$base.ed
+   !chmod +x $OBJ/$base.ed
EOF
 done
 
@@ -65,12 +67,12 @@ for i in *.err; do
#!/bin/sh -
$ED - <<\EOT
H
-   r $base.err
+   r $TESTS/$base.err
w $base.o
EOT
.
-2r $i
-   w ${base}.red
-   !chmod +x ${base}.red
+   w $OBJ/${base}.red
+   !chmod +x $OBJ/${base}.red
EOF
 done
diff --git a/regress/bin/ed/Makefile b/regress/bin/ed/Makefile
new file mode 100644
index 000..f54039e6065
--- /dev/null
+++ b/regress/bin/ed/Makefile
@@ -0,0 +1,31 @@
+# $OpenBSD $
+
+TESTDIR= ${.CURDIR}/../../../bin/ed/test/
+OBJDIR= ${.CURDIR}/obj
+ED= /bin/ed
+SHELL= /bin/sh
+CLEANFILES+= ${OBJDIR}/*.red ${OBJDIR}/*.ed ${OBJDIR}/*.o
+
+ARGS!= cd ${OBJDIR} && ls *.{ed,red}
+TARGETS?= ${ARGS}
+REGRESS_TARGETS= ${TARGETS:S/^/run-regress-/}
+REGRESS_SKIP_TARGETS+= run-regress-eq.ed \
+   run-regress-a1.ed \
+   run-regress-i1.ed \
+   run-regress-k1.ed \
+   run-regress-r1.ed
+
+regress: makescripts
+.for a in ${ARGS}
+run-regress-$a: $a
+   @echo '\n $a '
+   @${SHELL} ${.CURDIR}/ckscripts.sh ${ED} ${OBJDIR} ${TESTDIR} $a
+.endfor
+
+makescripts:
+   @cd ${TESTDIR} && $(SHELL) mkscripts.

typo in the errata

2016-10-21 Thread Sergey Bronnikov
Hi,

I believe it was a typo

diff --git a/errata58.html b/errata58.html
index 9cc93b7..aecabd9 100644
--- a/errata58.html
+++ b/errata58.html
@@ -176,7 +176,7 @@ A source code patch exists which remedies this problem.
 
 009: RELIABILITY FIX: Dec 3, 2015
   All architectures
-A NULL pointer deference could be triggered by a crafted certificate sent to
+A NULL pointer dereference could be triggered by a crafted certificate sent to
 services configured to verify client certificates on TLS/SSL connections.
 https://ftp.openbsd.org/pub/OpenBSD/patches/5.8/common/009_clientcert.patch.sig";>
 A source code patch exists which remedies this problem.


Sergey



removed goal with cdrom-based release

2016-11-13 Thread Sergey Bronnikov
OK?

diff --git a/goals.html b/goals.html
index c94d4cb..ef0dbcc 100644
--- a/goals.html
+++ b/goals.html
@@ -65,8 +65,6 @@ and priorities, but it is possible to classify the goals we 
all share:
 developer-only events called hackathons.
 
 Do not let serious problems sit unsolved.
-
-Make a CDROM-based release approximately every six months.
 

 

Sergey