Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Mar 2019 16:19:38 +0000 (UTC)
From:      Enji Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r345416 - in projects/capsicum-test: . bin/date cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall contrib/blacklist/bin contrib/elftoolchain/strings contrib/googletest/googlet...
Message-ID:  <201903221619.x2MGJcnN013595@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Fri Mar 22 16:19:37 2019
New Revision: 345416
URL: https://svnweb.freebsd.org/changeset/base/345416

Log:
  MFhead@r345415

Added:
  projects/capsicum-test/contrib/googletest/googletest/test/gtest_skip_test.cc
     - copied unchanged from r345415, head/contrib/googletest/googletest/test/gtest_skip_test.cc
     - copied from r345415, head/contrib/openmp/
  projects/capsicum-test/lib/libomp/
     - copied from r345415, head/lib/libomp/
  projects/capsicum-test/libexec/rc/rc.d/ippool
     - copied unchanged from r345415, head/libexec/rc/rc.d/ippool
  projects/capsicum-test/sbin/ipfw/nat64clat.c
     - copied unchanged from r345415, head/sbin/ipfw/nat64clat.c
  projects/capsicum-test/sys/amd64/include/procctl.h
     - copied unchanged from r345415, head/sys/amd64/include/procctl.h
  projects/capsicum-test/sys/arm/include/procctl.h
     - copied unchanged from r345415, head/sys/arm/include/procctl.h
  projects/capsicum-test/sys/arm64/include/procctl.h
     - copied unchanged from r345415, head/sys/arm64/include/procctl.h
  projects/capsicum-test/sys/i386/include/procctl.h
     - copied unchanged from r345415, head/sys/i386/include/procctl.h
  projects/capsicum-test/sys/mips/include/procctl.h
     - copied unchanged from r345415, head/sys/mips/include/procctl.h
  projects/capsicum-test/sys/modules/fusefs/
     - copied from r345415, head/sys/modules/fusefs/
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64clat.c
     - copied unchanged from r345415, head/sys/netpfil/ipfw/nat64/nat64clat.c
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64clat.h
     - copied unchanged from r345415, head/sys/netpfil/ipfw/nat64/nat64clat.h
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64clat_control.c
     - copied unchanged from r345415, head/sys/netpfil/ipfw/nat64/nat64clat_control.c
  projects/capsicum-test/sys/powerpc/include/procctl.h
     - copied unchanged from r345415, head/sys/powerpc/include/procctl.h
  projects/capsicum-test/sys/riscv/include/procctl.h
     - copied unchanged from r345415, head/sys/riscv/include/procctl.h
  projects/capsicum-test/sys/sparc64/include/procctl.h
     - copied unchanged from r345415, head/sys/sparc64/include/procctl.h
  projects/capsicum-test/sys/x86/include/procctl.h
     - copied unchanged from r345415, head/sys/x86/include/procctl.h
  projects/capsicum-test/tests/sys/netpfil/pf/CVE-2019-5598.py
     - copied unchanged from r345415, head/tests/sys/netpfil/pf/CVE-2019-5598.py
  projects/capsicum-test/tests/sys/netpfil/pf/icmp.sh
     - copied unchanged from r345415, head/tests/sys/netpfil/pf/icmp.sh
  projects/capsicum-test/tests/sys/netpfil/pf/sniffer.py
     - copied unchanged from r345415, head/tests/sys/netpfil/pf/sniffer.py
  projects/capsicum-test/tools/build/options/WITHOUT_OPENMP
     - copied unchanged from r345415, head/tools/build/options/WITHOUT_OPENMP
  projects/capsicum-test/tools/build/options/WITH_OPENMP
     - copied unchanged from r345415, head/tools/build/options/WITH_OPENMP
Directory Properties:
  projects/capsicum-test/contrib/openmp/   (props changed)
Deleted:
  projects/capsicum-test/sys/mips/sibyte/
  projects/capsicum-test/sys/modules/fuse/
Modified:
  projects/capsicum-test/MAINTAINERS   (contents, props changed)
  projects/capsicum-test/Makefile.inc1
  projects/capsicum-test/UPDATING
  projects/capsicum-test/bin/date/date.1
  projects/capsicum-test/bin/date/date.c
  projects/capsicum-test/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c
  projects/capsicum-test/contrib/blacklist/bin/blacklistd.c
  projects/capsicum-test/contrib/elftoolchain/strings/strings.c
  projects/capsicum-test/contrib/googletest/googletest/CMakeLists.txt
  projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest-test-part.h
  projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest.h
  projects/capsicum-test/contrib/googletest/googletest/include/gtest/internal/gtest-internal.h
  projects/capsicum-test/contrib/googletest/googletest/src/gtest-internal-inl.h
  projects/capsicum-test/contrib/googletest/googletest/src/gtest-test-part.cc
  projects/capsicum-test/contrib/googletest/googletest/src/gtest.cc
  projects/capsicum-test/contrib/googletest/googletest/test/googletest-test-part-test.cc
  projects/capsicum-test/contrib/googletest/googletest/test/gtest_all_test.cc
  projects/capsicum-test/contrib/llvm/tools/clang/lib/Basic/Version.cpp
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/Config.h
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/Driver.cpp
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/InputFiles.cpp
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/InputFiles.h
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/Options.td
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/SymbolTable.cpp
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/SymbolTable.h
  projects/capsicum-test/contrib/llvm/tools/lld/ELF/Writer.cpp
  projects/capsicum-test/contrib/llvm/tools/lld/docs/ld.lld.1
  projects/capsicum-test/gnu/lib/Makefile
  projects/capsicum-test/lib/Makefile
  projects/capsicum-test/lib/clang/include/clang/Basic/Version.inc
  projects/capsicum-test/lib/clang/include/lld/Common/Version.inc
  projects/capsicum-test/lib/clang/include/llvm/Support/VCSRevision.h
  projects/capsicum-test/lib/googletest/gtest_main/tests/Makefile
  projects/capsicum-test/lib/libc/gen/arc4random.3
  projects/capsicum-test/lib/libjail/jail.c
  projects/capsicum-test/libexec/rc/network.subr
  projects/capsicum-test/libexec/rc/rc.conf
  projects/capsicum-test/libexec/rc/rc.d/Makefile
  projects/capsicum-test/release/Makefile.ec2
  projects/capsicum-test/release/arm64/PINE64-LTS.conf
  projects/capsicum-test/release/arm64/PINE64.conf
  projects/capsicum-test/release/arm64/PINEBOOK.conf
  projects/capsicum-test/release/arm64/RPI3.conf
  projects/capsicum-test/release/tools/ec2.conf
  projects/capsicum-test/sbin/bectl/bectl_jail.c
  projects/capsicum-test/sbin/camcontrol/fwdownload.c
  projects/capsicum-test/sbin/ipfw/Makefile
  projects/capsicum-test/sbin/ipfw/ipfw.8
  projects/capsicum-test/sbin/ipfw/ipfw2.c
  projects/capsicum-test/sbin/ipfw/ipfw2.h
  projects/capsicum-test/sbin/ipfw/main.c
  projects/capsicum-test/sbin/ipfw/nat64lsn.c
  projects/capsicum-test/sbin/ipfw/nat64stl.c
  projects/capsicum-test/sbin/mount_fusefs/mount_fusefs.c
  projects/capsicum-test/share/examples/etc/make.conf
  projects/capsicum-test/share/examples/kld/dyn_sysctl/dyn_sysctl.c
  projects/capsicum-test/share/man/man4/Makefile
  projects/capsicum-test/share/man/man5/src.conf.5
  projects/capsicum-test/share/man/man9/sysctl.9
  projects/capsicum-test/share/mk/bsd.cpu.mk
  projects/capsicum-test/share/mk/src.opts.mk
  projects/capsicum-test/stand/common/interp_forth.c
  projects/capsicum-test/stand/common/load_elf.c
  projects/capsicum-test/sys/amd64/amd64/cpu_switch.S
  projects/capsicum-test/sys/amd64/amd64/pmap.c
  projects/capsicum-test/sys/amd64/amd64/vm_machdep.c
  projects/capsicum-test/sys/amd64/include/proc.h
  projects/capsicum-test/sys/amd64/sgx/sgx.c
  projects/capsicum-test/sys/arm/arm/vm_machdep.c
  projects/capsicum-test/sys/arm/include/platformvar.h
  projects/capsicum-test/sys/arm64/arm64/nexus.c
  projects/capsicum-test/sys/arm64/arm64/vm_machdep.c
  projects/capsicum-test/sys/arm64/conf/GENERIC
  projects/capsicum-test/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c
  projects/capsicum-test/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
  projects/capsicum-test/sys/cddl/dev/dtrace/i386/dtrace_subr.c
  projects/capsicum-test/sys/compat/freebsd32/freebsd32_misc.c
  projects/capsicum-test/sys/conf/NOTES
  projects/capsicum-test/sys/conf/files
  projects/capsicum-test/sys/conf/kern.post.mk
  projects/capsicum-test/sys/conf/kmod.mk
  projects/capsicum-test/sys/conf/options
  projects/capsicum-test/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_ani.c
  projects/capsicum-test/sys/dev/ahci/ahci_pci.c
  projects/capsicum-test/sys/dev/cpufreq/cpufreq_dt.c
  projects/capsicum-test/sys/dev/cxgbe/adapter.h
  projects/capsicum-test/sys/dev/cxgbe/common/common.h
  projects/capsicum-test/sys/dev/cxgbe/common/t4_hw.c
  projects/capsicum-test/sys/dev/cxgbe/firmware/t4fw_interface.h
  projects/capsicum-test/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h
  projects/capsicum-test/sys/dev/cxgbe/t4_main.c
  projects/capsicum-test/sys/dev/cxgbe/t4_sched.c
  projects/capsicum-test/sys/dev/cxgbe/t4_sge.c
  projects/capsicum-test/sys/dev/cxgbe/tom/t4_cpl_io.c
  projects/capsicum-test/sys/dev/cxgbe/tom/t4_listen.c
  projects/capsicum-test/sys/dev/cxgbe/tom/t4_tom.c
  projects/capsicum-test/sys/dev/e1000/if_em.c
  projects/capsicum-test/sys/dev/ena/ena.c
  projects/capsicum-test/sys/dev/ena/ena.h
  projects/capsicum-test/sys/dev/extres/phy/phy.c
  projects/capsicum-test/sys/dev/extres/regulator/regulator.c
  projects/capsicum-test/sys/dev/extres/syscon/syscon.c
  projects/capsicum-test/sys/dev/fdt/fdt_slicer.c
  projects/capsicum-test/sys/dev/ichsmb/ichsmb_pci.c
  projects/capsicum-test/sys/dev/intpm/intpm.c
  projects/capsicum-test/sys/dev/ixgbe/if_ix.c
  projects/capsicum-test/sys/dev/ixgbe/if_ixv.c
  projects/capsicum-test/sys/dev/ixl/if_iavf.c
  projects/capsicum-test/sys/dev/ixl/ixl_pf_main.c
  projects/capsicum-test/sys/dev/netmap/netmap.c
  projects/capsicum-test/sys/dev/netmap/netmap_legacy.c
  projects/capsicum-test/sys/dev/netmap/netmap_mem2.c
  projects/capsicum-test/sys/dev/pci/pcivar.h
  projects/capsicum-test/sys/dev/psci/psci.c
  projects/capsicum-test/sys/dev/psci/psci.h
  projects/capsicum-test/sys/dev/sdhci/sdhci.c
  projects/capsicum-test/sys/dev/sdhci/sdhci.h
  projects/capsicum-test/sys/dev/smartpqi/smartpqi_mem.c
  projects/capsicum-test/sys/dev/sound/pci/hda/hdac.c
  projects/capsicum-test/sys/dev/sound/pci/hda/hdacc.c
  projects/capsicum-test/sys/dev/uart/uart_bus_pci.c
  projects/capsicum-test/sys/dev/uart/uart_cpu_arm64.c
  projects/capsicum-test/sys/fs/fuse/fuse.h
  projects/capsicum-test/sys/fs/fuse/fuse_file.c
  projects/capsicum-test/sys/fs/fuse/fuse_ipc.c
  projects/capsicum-test/sys/fs/fuse/fuse_main.c
  projects/capsicum-test/sys/fs/fuse/fuse_node.c
  projects/capsicum-test/sys/fs/fuse/fuse_vfsops.c
  projects/capsicum-test/sys/fs/fuse/fuse_vnops.c
  projects/capsicum-test/sys/fs/nullfs/null_vfsops.c
  projects/capsicum-test/sys/i386/i386/exception.s
  projects/capsicum-test/sys/i386/i386/pmap.c
  projects/capsicum-test/sys/i386/i386/vm_machdep.c
  projects/capsicum-test/sys/kern/kern_exec.c
  projects/capsicum-test/sys/kern/kern_procctl.c
  projects/capsicum-test/sys/kern/kern_resource.c
  projects/capsicum-test/sys/kern/kern_thread.c
  projects/capsicum-test/sys/mips/include/cpufunc.h
  projects/capsicum-test/sys/mips/mips/support.S
  projects/capsicum-test/sys/mips/mips/vm_machdep.c
  projects/capsicum-test/sys/modules/Makefile
  projects/capsicum-test/sys/modules/ipfw_nat64/Makefile
  projects/capsicum-test/sys/net/bpf.c
  projects/capsicum-test/sys/net/iflib.c
  projects/capsicum-test/sys/net/iflib.h
  projects/capsicum-test/sys/net/netmap.h
  projects/capsicum-test/sys/net/netmap_legacy.h
  projects/capsicum-test/sys/net/netmap_user.h
  projects/capsicum-test/sys/net80211/ieee80211_ht.c
  projects/capsicum-test/sys/netinet/ip_fw.h
  projects/capsicum-test/sys/netinet6/ip_fw_nat64.h
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw2.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_pfil.c
  projects/capsicum-test/sys/netpfil/ipfw/ip_fw_private.h
  projects/capsicum-test/sys/netpfil/ipfw/nat64/ip_fw_nat64.c
  projects/capsicum-test/sys/netpfil/ipfw/nat64/ip_fw_nat64.h
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64_translate.c
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64_translate.h
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64lsn.c
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64lsn.h
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64lsn_control.c
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64stl.c
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64stl.h
  projects/capsicum-test/sys/netpfil/ipfw/nat64/nat64stl_control.c
  projects/capsicum-test/sys/netpfil/pf/if_pfsync.c
  projects/capsicum-test/sys/netpfil/pf/pf.c
  projects/capsicum-test/sys/powerpc/aim/isa3_hashtb.c
  projects/capsicum-test/sys/powerpc/aim/moea64_native.c
  projects/capsicum-test/sys/powerpc/powerpc/vm_machdep.c
  projects/capsicum-test/sys/riscv/riscv/vm_machdep.c
  projects/capsicum-test/sys/sparc64/sparc64/vm_machdep.c
  projects/capsicum-test/sys/sys/param.h
  projects/capsicum-test/sys/sys/proc.h
  projects/capsicum-test/sys/sys/procctl.h
  projects/capsicum-test/sys/sys/stat.h
  projects/capsicum-test/sys/sys/sysctl.h
  projects/capsicum-test/sys/ufs/ffs/ffs_softdep.c
  projects/capsicum-test/sys/vm/vm_fault.c
  projects/capsicum-test/tests/sys/netmap/ctrl-api-test.c
  projects/capsicum-test/tests/sys/netpfil/pf/Makefile
  projects/capsicum-test/tests/sys/netpfil/pf/pft_ping.py
  projects/capsicum-test/tools/build/mk/OptionalObsoleteFiles.inc
  projects/capsicum-test/usr.bin/calendar/calendars/calendar.australia
  projects/capsicum-test/usr.bin/lockf/lockf.c
  projects/capsicum-test/usr.bin/proccontrol/proccontrol.c
  projects/capsicum-test/usr.sbin/makefs/mtree.c
  projects/capsicum-test/usr.sbin/makefs/tests/makefs_tests_common.sh
Directory Properties:
  projects/capsicum-test/   (props changed)
  projects/capsicum-test/cddl/   (props changed)
  projects/capsicum-test/cddl/contrib/opensolaris/   (props changed)
  projects/capsicum-test/contrib/blacklist/   (props changed)
  projects/capsicum-test/contrib/compiler-rt/   (props changed)
  projects/capsicum-test/contrib/elftoolchain/   (props changed)
  projects/capsicum-test/contrib/libc++/   (props changed)
  projects/capsicum-test/contrib/libunwind/   (props changed)
  projects/capsicum-test/contrib/llvm/   (props changed)
  projects/capsicum-test/contrib/llvm/tools/clang/   (props changed)
  projects/capsicum-test/contrib/llvm/tools/lld/   (props changed)
  projects/capsicum-test/contrib/llvm/tools/lldb/   (props changed)
  projects/capsicum-test/gnu/lib/   (props changed)
  projects/capsicum-test/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/capsicum-test/MAINTAINERS
==============================================================================
--- projects/capsicum-test/MAINTAINERS	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/MAINTAINERS	Fri Mar 22 16:19:37 2019	(r345416)
@@ -41,8 +41,9 @@ contrib/compiler-rt	dim	Pre-commit review preferred.
 contrib/ipfilter	cy	Pre-commit review requested.
 contrib/libc++		dim	Pre-commit review preferred.
 contrib/libcxxrt	dim	Pre-commit review preferred.
+contrib/libunwind	dim,emaste,jhb	Pre-commit review preferred.
 contrib/llvm		dim	Pre-commit review preferred.
-contrib/llvm/tools/lldb	emaste	Pre-commit review preferred.
+contrib/llvm/tools/lldb	dim,emaste	Pre-commit review preferred.
 contrib/netbsd-tests	freebsd-testing,ngie	Pre-commit review requested.
 contrib/pjdfstest	freebsd-testing,asomers,ngie,pjd	Pre-commit review requested.
 *env(3)		secteam	Due to the problematic security history of this

Modified: projects/capsicum-test/Makefile.inc1
==============================================================================
--- projects/capsicum-test/Makefile.inc1	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/Makefile.inc1	Fri Mar 22 16:19:37 2019	(r345416)
@@ -1162,7 +1162,7 @@ buildworld_epilogue: .PHONY
 	@echo "--------------------------------------------------------------"
 	@echo ">>> World build completed on `LC_ALL=C date`"
 	@seconds=$$(($$(date '+%s') - ${_BUILDWORLD_START})); \
-	  echo -n ">>> World build in $$seconds seconds, "; \
+	  echo -n ">>> World built in $$seconds seconds, "; \
 	  echo "ncpu: $$(sysctl -n hw.ncpu)${.MAKE.JOBS:S/^/, make -j/}"
 	@echo "--------------------------------------------------------------"
 
@@ -1584,6 +1584,11 @@ _cleankernobj_fast_depend_hack: .PHONY
 
 ${WMAKE_TGTS:N_worldtmp:Nbuild${libcompat}} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY
 
+# record kernel(s) build time in seconds
+.if make(buildkernel)
+_BUILDKERNEL_START!= date '+%s'
+.endif
+
 #
 # buildkernel
 #
@@ -1640,7 +1645,12 @@ buildkernel: .MAKE .PHONY
 	@echo "--------------------------------------------------------------"
 	@echo ">>> Kernel build for ${_kernel} completed on `LC_ALL=C date`"
 	@echo "--------------------------------------------------------------"
+	
 .endfor
+	@seconds=$$(($$(date '+%s') - ${_BUILDKERNEL_START})); \
+	  echo -n ">>> Kernel(s) ${BUILDKERNELS} built in $$seconds seconds, "; \
+	  echo "ncpu: $$(sysctl -n hw.ncpu)${.MAKE.JOBS:S/^/, make -j/}"
+	@echo "--------------------------------------------------------------"
 
 NO_INSTALLEXTRAKERNELS?=	yes
 

Modified: projects/capsicum-test/UPDATING
==============================================================================
--- projects/capsicum-test/UPDATING	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/UPDATING	Fri Mar 22 16:19:37 2019	(r345416)
@@ -31,6 +31,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20190320:
+	The fuse(4) module has been renamed to fusefs(4) for consistency with
+	other filesystems.  You should update any kld_load="fuse" entries in
+	/etc/rc.conf, fuse_load="YES" entries in /boot/loader.conf, and
+	"options FUSE" enties in kernel config files.
+
 20190304:
 	Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
 	8.0.0.  Please see the 20141231 entry below for information about

Modified: projects/capsicum-test/bin/date/date.1
==============================================================================
--- projects/capsicum-test/bin/date/date.1	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/bin/date/date.1	Fri Mar 22 16:19:37 2019	(r345416)
@@ -32,7 +32,7 @@
 .\"     @(#)date.1	8.3 (Berkeley) 4/28/95
 .\" $FreeBSD$
 .\"
-.Dd March 12, 2019
+.Dd March 20, 2019
 .Dt DATE 1
 .Os
 .Sh NAME
@@ -52,13 +52,13 @@
 .Ar ...
 .Op Cm + Ns Ar output_fmt
 .Nm
-.Op Fl jnu
+.Op Fl ju
 .Sm off
 .Op Oo Oo Oo Oo Ar cc Oc Ar yy Oc Ar mm Oc Ar dd Oc Ar HH
 .Ar MM Op Ar .ss
 .Sm on
 .Nm
-.Op Fl jnRu
+.Op Fl jRu
 .Fl f Ar input_fmt new_date
 .Op Cm + Ns Ar output_fmt
 .Nm
@@ -142,16 +142,6 @@ This allows you to use the
 flag in addition to the
 .Cm +
 option to convert one date format to another.
-.It Fl n
-By default, if the
-.Xr timed 8
-daemon is running,
-.Nm
-sets the time on all of the machines in the local group.
-The
-.Fl n
-option suppresses this behavior and causes the time to be set only on the
-current machine.
 .It Fl R
 Use RFC 2822 date and time output format.
 This is equivalent to using
@@ -431,23 +421,6 @@ can be used to parse the output from
 .Nm
 and express it in Epoch time.
 .Sh DIAGNOSTICS
-Occasionally, when
-.Xr timed 8
-synchronizes the time on many hosts, the setting of a new time value may
-require more than a few seconds.
-On these occasions,
-.Nm
-prints:
-.Ql Network time being set .
-The message
-.Ql Communication error with timed
-occurs when the communication
-between
-.Nm
-and
-.Xr timed 8
-fails.
-.Pp
 It is invalid to combine the
 .Fl I
 flag with either
@@ -465,8 +438,7 @@ and exits with an error status.
 .Xr gettimeofday 2 ,
 .Xr getutxent 3 ,
 .Xr strftime 3 ,
-.Xr strptime 3 ,
-.Xr timed 8
+.Xr strptime 3
 .Rs
 .%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD"
 .%A R. Gusella
@@ -478,7 +450,7 @@ The
 utility is expected to be compatible with
 .St -p1003.2 .
 The
-.Fl d , f , I , j , n , r , t ,
+.Fl d , f , I , j , r , t ,
 and
 .Fl v
 options are all extensions to the standard.

Modified: projects/capsicum-test/bin/date/date.c
==============================================================================
--- projects/capsicum-test/bin/date/date.c	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/bin/date/date.c	Fri Mar 22 16:19:37 2019	(r345416)
@@ -72,7 +72,7 @@ static void iso8601_usage(const char *);
 static void multipleformats(void);
 static void printdate(const char *);
 static void printisodate(struct tm *);
-static void setthetime(const char *, const char *, int, int);
+static void setthetime(const char *, const char *, int);
 static void usage(void);
 
 static const struct iso8601_fmt {
@@ -92,7 +92,7 @@ int
 main(int argc, char *argv[])
 {
 	int ch, rflag;
-	bool Iflag, jflag, nflag, Rflag;
+	bool Iflag, jflag, Rflag;
 	const char *format;
 	char buf[1024];
 	char *fmt;
@@ -107,8 +107,8 @@ main(int argc, char *argv[])
 	fmt = NULL;
 	(void) setlocale(LC_TIME, "");
 	rflag = 0;
-	Iflag = jflag = nflag = Rflag = 0;
-	while ((ch = getopt(argc, argv, "f:I::jnRr:uv:")) != -1)
+	Iflag = jflag = Rflag = 0;
+	while ((ch = getopt(argc, argv, "f:I::jRr:uv:")) != -1)
 		switch((char)ch) {
 		case 'f':
 			fmt = optarg;
@@ -132,9 +132,6 @@ main(int argc, char *argv[])
 		case 'j':
 			jflag = 1;	/* don't set time */
 			break;
-		case 'n':		/* don't set network */
-			nflag = 1;
-			break;
 		case 'R':		/* RFC 2822 datetime format */
 			if (Iflag)
 				multipleformats();
@@ -179,7 +176,7 @@ main(int argc, char *argv[])
 	}
 
 	if (*argv) {
-		setthetime(fmt, *argv, jflag, nflag);
+		setthetime(fmt, *argv, jflag);
 		++argv;
 	} else if (fmt != NULL)
 		usage();
@@ -250,7 +247,7 @@ printisodate(struct tm *lt)
 #define	ATOI2(s)	((s) += 2, ((s)[-2] - '0') * 10 + ((s)[-1] - '0'))
 
 static void
-setthetime(const char *fmt, const char *p, int jflag, int nflag)
+setthetime(const char *fmt, const char *p, int jflag)
 {
 	struct utmpx utx;
 	struct tm *lt;
@@ -343,20 +340,17 @@ setthetime(const char *fmt, const char *p, int jflag, 
 		errx(1, "nonexistent time");
 
 	if (!jflag) {
-		/* set the time */
-		if (nflag) {
-			utx.ut_type = OLD_TIME;
-			memset(utx.ut_id, 0, sizeof(utx.ut_id));
-			(void)gettimeofday(&utx.ut_tv, NULL);
-			pututxline(&utx);
-			tv.tv_sec = tval;
-			tv.tv_usec = 0;
-			if (settimeofday(&tv, NULL) != 0)
-				err(1, "settimeofday (timeval)");
-			utx.ut_type = NEW_TIME;
-			(void)gettimeofday(&utx.ut_tv, NULL);
-			pututxline(&utx);
-		}
+		utx.ut_type = OLD_TIME;
+		memset(utx.ut_id, 0, sizeof(utx.ut_id));
+		(void)gettimeofday(&utx.ut_tv, NULL);
+		pututxline(&utx);
+		tv.tv_sec = tval;
+		tv.tv_usec = 0;
+		if (settimeofday(&tv, NULL) != 0)
+			err(1, "settimeofday (timeval)");
+		utx.ut_type = NEW_TIME;
+		(void)gettimeofday(&utx.ut_tv, NULL);
+		pututxline(&utx);
 
 		if ((p = getlogin()) == NULL)
 			p = "???";

Modified: projects/capsicum-test/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c
==============================================================================
--- projects/capsicum-test/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c	Fri Mar 22 16:19:37 2019	(r345416)
@@ -35,7 +35,8 @@ int
 main(int argc, char **argv)
 {
 	for (;;) {
-		(void) __syscall(SYS_mmap, NULL, 1, 2, 3, -1, 0x12345678);
+		(void) __syscall(SYS_mmap, NULL, (size_t)1, 2, 3, -1,
+		    (off_t)0x12345678);
 	}
 
 	return (0);

Modified: projects/capsicum-test/contrib/blacklist/bin/blacklistd.c
==============================================================================
--- projects/capsicum-test/contrib/blacklist/bin/blacklistd.c	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/blacklist/bin/blacklistd.c	Fri Mar 22 16:19:37 2019	(r345416)
@@ -328,7 +328,7 @@ again:
 		if (dbi.id[0]) {
 			run_change("rem", &c, dbi.id, 0);
 			sockaddr_snprintf(buf, sizeof(buf), "%a", ss);
-			syslog(LOG_INFO, "released %s/%d:%d after %d seconds",
+			(*lfun)(LOG_INFO, "released %s/%d:%d after %d seconds",
 			    buf, c.c_lmask, c.c_port, c.c_duration);
 		}
 		state_del(state, &c);

Modified: projects/capsicum-test/contrib/elftoolchain/strings/strings.c
==============================================================================
--- projects/capsicum-test/contrib/elftoolchain/strings/strings.c	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/elftoolchain/strings/strings.c	Fri Mar 22 16:19:37 2019	(r345416)
@@ -84,11 +84,11 @@ static struct option strings_longopts[] = {
 	{ NULL, 0, NULL, 0 }
 };
 
-long	getcharacter(void);
+long	getcharacter(FILE *);
 int	handle_file(const char *);
-int	handle_elf(const char *, int);
-int	handle_binary(const char *, int);
-int	find_strings(const char *, off_t, off_t);
+int	handle_elf(const char *, FILE *);
+int	handle_binary(const char *, FILE *, size_t);
+int	find_strings(const char *, FILE *, off_t, off_t);
 void	show_version(void);
 void	usage(void);
 
@@ -190,7 +190,7 @@ main(int argc, char **argv)
 	if (min_len == 0)
 		min_len = 4;
 	if (*argv == NULL)
-		rc = find_strings("{standard input}", 0, 0);
+		rc = find_strings("{standard input}", stdin, 0, 0);
 	else while (*argv != NULL) {
 		if (handle_file(*argv) != 0)
 			rc = 1;
@@ -202,19 +202,19 @@ main(int argc, char **argv)
 int
 handle_file(const char *name)
 {
-	int fd, rt;
+	FILE *pfile;
+	int rt;
 
 	if (name == NULL)
 		return (1);
-	if (freopen(name, "rb", stdin) == NULL) {
+	pfile = fopen(name, "rb");
+	if (pfile == NULL) {
 		warnx("'%s': %s", name, strerror(errno));
 		return (1);
 	}
 
-	fd = fileno(stdin);
-	if (fd < 0)
-		return (1);
-	rt = handle_elf(name, fd);
+	rt = handle_elf(name, pfile);
+	fclose(pfile);
 	return (rt);
 }
 
@@ -223,15 +223,11 @@ handle_file(const char *name)
  * treated as a binary file. This would include text file, core dumps ...
  */
 int
-handle_binary(const char *name, int fd)
+handle_binary(const char *name, FILE *pfile, size_t size)
 {
-	struct stat buf;
 
-	memset(&buf, 0, sizeof(buf));
-	(void)lseek(fd, 0, SEEK_SET);
-	if (!fstat(fd, &buf))
-		return (find_strings(name, 0, buf.st_size));
-	return (1);
+	(void)fseeko(pfile, 0, SEEK_SET);
+	return (find_strings(name, pfile, 0, size));
 }
 
 /*
@@ -241,24 +237,29 @@ handle_binary(const char *name, int fd)
  * different archs as flat binary files(has to overridden using -a).
  */
 int
-handle_elf(const char *name, int fd)
+handle_elf(const char *name, FILE *pfile)
 {
+	struct stat buf;
 	GElf_Ehdr elfhdr;
 	GElf_Shdr shdr;
 	Elf *elf;
 	Elf_Scn *scn;
-	int rc;
+	int rc, fd;
 
 	rc = 0;
+	fd = fileno(pfile);
+	if (fstat(fd, &buf) < 0)
+		return (1);
+
 	/* If entire file is chosen, treat it as a binary file */
 	if (entire_file)
-		return (handle_binary(name, fd));
+		return (handle_binary(name, pfile, buf.st_size));
 
 	(void)lseek(fd, 0, SEEK_SET);
 	elf = elf_begin(fd, ELF_C_READ, NULL);
 	if (elf_kind(elf) != ELF_K_ELF) {
 		(void)elf_end(elf);
-		return (handle_binary(name, fd));
+		return (handle_binary(name, pfile, buf.st_size));
 	}
 
 	if (gelf_getehdr(elf, &elfhdr) == NULL) {
@@ -269,7 +270,7 @@ handle_elf(const char *name, int fd)
 
 	if (elfhdr.e_shnum == 0 && elfhdr.e_type == ET_CORE) {
 		(void)elf_end(elf);
-		return (handle_binary(name, fd));
+		return (handle_binary(name, pfile, buf.st_size));
 	} else {
 		scn = NULL;
 		while ((scn = elf_nextscn(elf, scn)) != NULL) {
@@ -277,7 +278,7 @@ handle_elf(const char *name, int fd)
 				continue;
 			if (shdr.sh_type != SHT_NOBITS &&
 			    (shdr.sh_flags & SHF_ALLOC) != 0) {
-				rc = find_strings(name, shdr.sh_offset,
+				rc = find_strings(name, pfile, shdr.sh_offset,
 				    shdr.sh_size);
 			}
 		}
@@ -291,20 +292,20 @@ handle_elf(const char *name, int fd)
  * type requested.
  */
 long
-getcharacter(void)
+getcharacter(FILE *pfile)
 {
 	long rt;
-	int i;
-	char buf[4], c;
+	int i, c;
+	char buf[4];
 
-	rt = EOF;
 	for(i = 0; i < encoding_size; i++) {
-		c = getc(stdin);
-		if (feof(stdin))
+		c = getc(pfile);
+		if (c == EOF)
 			return (EOF);
 		buf[i] = c;
 	}
 
+	rt = EOF;
 	switch (encoding) {
 	case ENCODING_7BIT:
 	case ENCODING_8BIT:
@@ -329,12 +330,12 @@ getcharacter(void)
 }
 
 /*
- * Input stream stdin is read until the end of file is reached or until
+ * Input stream is read until the end of file is reached or until
  * the section size is reached in case of ELF files. Contiguous
  * characters of >= min_size(default 4) will be displayed.
  */
 int
-find_strings(const char *name, off_t offset, off_t size)
+find_strings(const char *name, FILE *pfile, off_t offset, off_t size)
 {
 	off_t cur_off, start_off;
 	char *obuf;
@@ -347,7 +348,7 @@ find_strings(const char *name, off_t offset, off_t siz
 		return (1);
 	}
 
-	(void)fseeko(stdin, offset, SEEK_SET);
+	(void)fseeko(pfile, offset, SEEK_SET);
 	cur_off = offset;
 	start_off = 0;
 	for (;;) {
@@ -356,8 +357,8 @@ find_strings(const char *name, off_t offset, off_t siz
 		start_off = cur_off;
 		memset(obuf, 0, min_len + 1);
 		for(i = 0; i < min_len; i++) {
-			c = getcharacter();
-			if (c == EOF && feof(stdin))
+			c = getcharacter(pfile);
+			if (c == EOF)
 				goto _exit1;
 			if (PRINTABLE(c)) {
 				obuf[i] = c;
@@ -399,15 +400,15 @@ find_strings(const char *name, off_t offset, off_t siz
 				if ((offset + size) &&
 				    (cur_off >= offset + size))
 					break;
-				c = getcharacter();
+				c = getcharacter(pfile);
 				cur_off += encoding_size;
+				if (!PRINTABLE(c) || c == EOF)
+					break;
 				if (encoding == ENCODING_8BIT &&
 				    (uint8_t)c > 127) {
 					putchar(c);
 					continue;
 				}
-				if (!PRINTABLE(c) || c == EOF)
-					break;
 				putchar(c);
 			}
 			putchar('\n');

Modified: projects/capsicum-test/contrib/googletest/googletest/CMakeLists.txt
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/CMakeLists.txt	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/CMakeLists.txt	Fri Mar 22 16:19:37 2019	(r345416)
@@ -217,6 +217,7 @@ if (gtest_build_tests)
     test/gtest-typed-test2_test.cc)
   cxx_test(gtest_unittest gtest_main)
   cxx_test(gtest-unittest-api_test gtest)
+  cxx_test(gtest_skip_test gtest_main)
 
   ############################################################
   # C++ tests built with non-standard compiler flags.

Modified: projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest-test-part.h
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest-test-part.h	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest-test-part.h	Fri Mar 22 16:19:37 2019	(r345416)
@@ -53,7 +53,8 @@ class GTEST_API_ TestPartResult {
   enum Type {
     kSuccess,          // Succeeded.
     kNonFatalFailure,  // Failed but the test can continue.
-    kFatalFailure      // Failed and the test should be terminated.
+    kFatalFailure,     // Failed and the test should be terminated.
+    kSkip              // Skipped.
   };
 
   // C'tor.  TestPartResult does NOT have a default constructor.
@@ -89,17 +90,20 @@ class GTEST_API_ TestPartResult {
   // Gets the message associated with the test part.
   const char* message() const { return message_.c_str(); }
 
+  // Returns true iff the test part was skipped.
+  bool skipped() const { return type_ == kSkip; }
+
   // Returns true iff the test part passed.
   bool passed() const { return type_ == kSuccess; }
 
-  // Returns true iff the test part failed.
-  bool failed() const { return type_ != kSuccess; }
-
   // Returns true iff the test part non-fatally failed.
   bool nonfatally_failed() const { return type_ == kNonFatalFailure; }
 
   // Returns true iff the test part fatally failed.
   bool fatally_failed() const { return type_ == kFatalFailure; }
+
+  // Returns true iff the test part failed.
+  bool failed() const { return fatally_failed() || nonfatally_failed(); }
 
  private:
   Type type_;

Modified: projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest.h
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest.h	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/include/gtest/gtest.h	Fri Mar 22 16:19:37 2019	(r345416)
@@ -440,6 +440,9 @@ class GTEST_API_ Test {
   // Returns true iff the current test has a non-fatal failure.
   static bool HasNonfatalFailure();
 
+  // Returns true iff the current test was skipped.
+  static bool IsSkipped();
+
   // Returns true iff the current test has a (either fatal or
   // non-fatal) failure.
   static bool HasFailure() { return HasFatalFailure() || HasNonfatalFailure(); }
@@ -574,8 +577,11 @@ class GTEST_API_ TestResult {
   int test_property_count() const;
 
   // Returns true iff the test passed (i.e. no test part failed).
-  bool Passed() const { return !Failed(); }
+  bool Passed() const { return !Skipped() && !Failed(); }
 
+  // Returns true iff the test was skipped.
+  bool Skipped() const;
+
   // Returns true iff the test failed.
   bool Failed() const;
 
@@ -854,6 +860,9 @@ class GTEST_API_ TestCase {
   // Gets the number of successful tests in this test case.
   int successful_test_count() const;
 
+  // Gets the number of skipped tests in this test case.
+  int skipped_test_count() const;
+
   // Gets the number of failed tests in this test case.
   int failed_test_count() const;
 
@@ -936,6 +945,11 @@ class GTEST_API_ TestCase {
     return test_info->should_run() && test_info->result()->Passed();
   }
 
+  // Returns true iff test skipped.
+  static bool TestSkipped(const TestInfo* test_info) {
+    return test_info->should_run() && test_info->result()->Skipped();
+  }
+
   // Returns true iff test failed.
   static bool TestFailed(const TestInfo* test_info) {
     return test_info->should_run() && test_info->result()->Failed();
@@ -1258,6 +1272,9 @@ class GTEST_API_ UnitTest {
   // Gets the number of successful tests.
   int successful_test_count() const;
 
+  // Gets the number of skipped tests.
+  int skipped_test_count() const;
+
   // Gets the number of failed tests.
   int failed_test_count() const;
 
@@ -1834,6 +1851,11 @@ class TestWithParam : public Test, public WithParamInt
 };
 
 // Macros for indicating success/failure in test code.
+
+// Skips test in runtime.
+// Skipping test aborts current function.
+// Skipped tests are neither successful nor failed.
+#define GTEST_SKIP() GTEST_SKIP_("Skipped")
 
 // ADD_FAILURE unconditionally adds a failure to the current test.
 // SUCCEED generates a success - it doesn't automatically make the

Modified: projects/capsicum-test/contrib/googletest/googletest/include/gtest/internal/gtest-internal.h
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/include/gtest/internal/gtest-internal.h	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/include/gtest/internal/gtest-internal.h	Fri Mar 22 16:19:37 2019	(r345416)
@@ -1208,7 +1208,10 @@ class NativeArray {
 #define GTEST_SUCCESS_(message) \
   GTEST_MESSAGE_(message, ::testing::TestPartResult::kSuccess)
 
-// Suppress MSVC warning 4702 (unreachable code) for the code following
+#define GTEST_SKIP_(message) \
+  return GTEST_MESSAGE_(message, ::testing::TestPartResult::kSkip)
+
+// Suppress MSVC warning 4072 (unreachable code) for the code following
 // statement if it returns or throws (or doesn't return or throw in some
 // situations).
 #define GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement) \

Modified: projects/capsicum-test/contrib/googletest/googletest/src/gtest-internal-inl.h
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/src/gtest-internal-inl.h	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/src/gtest-internal-inl.h	Fri Mar 22 16:19:37 2019	(r345416)
@@ -544,6 +544,9 @@ class GTEST_API_ UnitTestImpl {
   // Gets the number of successful tests.
   int successful_test_count() const;
 
+  // Gets the number of skipped tests.
+  int skipped_test_count() const;
+
   // Gets the number of failed tests.
   int failed_test_count() const;
 

Modified: projects/capsicum-test/contrib/googletest/googletest/src/gtest-test-part.cc
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/src/gtest-test-part.cc	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/src/gtest-test-part.cc	Fri Mar 22 16:19:37 2019	(r345416)
@@ -47,12 +47,16 @@ std::string TestPartResult::ExtractSummary(const char*
 
 // Prints a TestPartResult object.
 std::ostream& operator<<(std::ostream& os, const TestPartResult& result) {
-  return os
-      << result.file_name() << ":" << result.line_number() << ": "
-      << (result.type() == TestPartResult::kSuccess ? "Success" :
-          result.type() == TestPartResult::kFatalFailure ? "Fatal failure" :
-          "Non-fatal failure") << ":\n"
-      << result.message() << std::endl;
+  return os << result.file_name() << ":" << result.line_number() << ": "
+            << (result.type() == TestPartResult::kSuccess
+                    ? "Success"
+                    : result.type() == TestPartResult::kSkip
+                          ? "Skipped"
+                          : result.type() == TestPartResult::kFatalFailure
+                                ? "Fatal failure"
+                                : "Non-fatal failure")
+            << ":\n"
+            << result.message() << std::endl;
 }
 
 // Appends a TestPartResult to the array.

Modified: projects/capsicum-test/contrib/googletest/googletest/src/gtest.cc
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/src/gtest.cc	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/src/gtest.cc	Fri Mar 22 16:19:37 2019	(r345416)
@@ -796,6 +796,11 @@ int UnitTestImpl::successful_test_count() const {
   return SumOverTestCaseList(test_cases_, &TestCase::successful_test_count);
 }
 
+// Gets the number of skipped tests.
+int UnitTestImpl::skipped_test_count() const {
+  return SumOverTestCaseList(test_cases_, &TestCase::skipped_test_count);
+}
+
 // Gets the number of failed tests.
 int UnitTestImpl::failed_test_count() const {
   return SumOverTestCaseList(test_cases_, &TestCase::failed_test_count);
@@ -2207,6 +2212,16 @@ void TestResult::Clear() {
   elapsed_time_ = 0;
 }
 
+// Returns true off the test part was skipped.
+static bool TestPartSkipped(const TestPartResult& result) {
+  return result.skipped();
+}
+
+// Returns true iff the test was skipped.
+bool TestResult::Skipped() const {
+  return !Failed() && CountIf(test_part_results_, TestPartSkipped) > 0;
+}
+
 // Returns true iff the test failed.
 bool TestResult::Failed() const {
   for (int i = 0; i < total_part_count(); ++i) {
@@ -2511,8 +2526,9 @@ void Test::Run() {
   internal::UnitTestImpl* const impl = internal::GetUnitTestImpl();
   impl->os_stack_trace_getter()->UponLeavingGTest();
   internal::HandleExceptionsInMethodIfSupported(this, &Test::SetUp, "SetUp()");
-  // We will run the test only if SetUp() was successful.
-  if (!HasFatalFailure()) {
+  // We will run the test only if SetUp() was successful and didn't call
+  // GTEST_SKIP().
+  if (!HasFatalFailure() && !IsSkipped()) {
     impl->os_stack_trace_getter()->UponLeavingGTest();
     internal::HandleExceptionsInMethodIfSupported(
         this, &Test::TestBody, "the test body");
@@ -2537,6 +2553,11 @@ bool Test::HasNonfatalFailure() {
       HasNonfatalFailure();
 }
 
+// Returns true iff the current test was skipped.
+bool Test::IsSkipped() {
+  return internal::GetUnitTestImpl()->current_test_result()->Skipped();
+}
+
 // class TestInfo
 
 // Constructs a TestInfo object. It assumes ownership of the test factory
@@ -2685,9 +2706,10 @@ void TestInfo::Run() {
       factory_, &internal::TestFactoryBase::CreateTest,
       "the test fixture's constructor");
 
-  // Runs the test if the constructor didn't generate a fatal failure.
+  // Runs the test if the constructor didn't generate a fatal failure or invoke
+  // GTEST_SKIP().
   // Note that the object will not be null
-  if (!Test::HasFatalFailure()) {
+  if (!Test::HasFatalFailure() && !Test::IsSkipped()) {
     // This doesn't throw as all user code that can throw are wrapped into
     // exception handling code.
     test->Run();
@@ -2715,6 +2737,11 @@ int TestCase::successful_test_count() const {
   return CountIf(test_info_list_, TestPassed);
 }
 
+// Gets the number of successful tests in this test case.
+int TestCase::skipped_test_count() const {
+  return CountIf(test_info_list_, TestSkipped);
+}
+
 // Gets the number of failed tests in this test case.
 int TestCase::failed_test_count() const {
   return CountIf(test_info_list_, TestFailed);
@@ -2866,6 +2893,8 @@ static std::string FormatTestCaseCount(int test_case_c
 // between the two when viewing the test result.
 static const char * TestPartResultTypeToString(TestPartResult::Type type) {
   switch (type) {
+    case TestPartResult::kSkip:
+      return "Skipped";
     case TestPartResult::kSuccess:
       return "Success";
 
@@ -3119,6 +3148,7 @@ class PrettyUnitTestResultPrinter : public TestEventLi
 
  private:
   static void PrintFailedTests(const UnitTest& unit_test);
+  static void PrintSkippedTests(const UnitTest& unit_test);
 };
 
   // Fired before each iteration of tests starts.
@@ -3187,18 +3217,25 @@ void PrettyUnitTestResultPrinter::OnTestStart(const Te
 // Called after an assertion failure.
 void PrettyUnitTestResultPrinter::OnTestPartResult(
     const TestPartResult& result) {
-  // If the test part succeeded, we don't need to do anything.
-  if (result.type() == TestPartResult::kSuccess)
-    return;
-
-  // Print failure message from the assertion (e.g. expected this and got that).
-  PrintTestPartResult(result);
-  fflush(stdout);
+  switch (result.type()) {
+    // If the test part succeeded, or was skipped,
+    // we don't need to do anything.
+    case TestPartResult::kSkip:
+    case TestPartResult::kSuccess:
+      return;
+    default:
+      // Print failure message from the assertion
+      // (e.g. expected this and got that).
+      PrintTestPartResult(result);
+      fflush(stdout);
+  }
 }
 
 void PrettyUnitTestResultPrinter::OnTestEnd(const TestInfo& test_info) {
   if (test_info.result()->Passed()) {
     ColoredPrintf(COLOR_GREEN, "[       OK ] ");
+  } else if (test_info.result()->Skipped()) {
+    ColoredPrintf(COLOR_GREEN, "[  SKIPPED ] ");
   } else {
     ColoredPrintf(COLOR_RED, "[  FAILED  ] ");
   }
@@ -3248,7 +3285,7 @@ void PrettyUnitTestResultPrinter::PrintFailedTests(con
     }
     for (int j = 0; j < test_case.total_test_count(); ++j) {
       const TestInfo& test_info = *test_case.GetTestInfo(j);
-      if (!test_info.should_run() || test_info.result()->Passed()) {
+      if (!test_info.should_run() || !test_info.result()->Failed()) {
         continue;
       }
       ColoredPrintf(COLOR_RED, "[  FAILED  ] ");
@@ -3259,6 +3296,30 @@ void PrettyUnitTestResultPrinter::PrintFailedTests(con
   }
 }
 
+// Internal helper for printing the list of skipped tests.
+void PrettyUnitTestResultPrinter::PrintSkippedTests(const UnitTest& unit_test) {
+  const int skipped_test_count = unit_test.skipped_test_count();
+  if (skipped_test_count == 0) {
+    return;
+  }
+
+  for (int i = 0; i < unit_test.total_test_case_count(); ++i) {
+    const TestCase& test_case = *unit_test.GetTestCase(i);
+    if (!test_case.should_run() || (test_case.skipped_test_count() == 0)) {
+      continue;
+    }
+    for (int j = 0; j < test_case.total_test_count(); ++j) {
+      const TestInfo& test_info = *test_case.GetTestInfo(j);
+      if (!test_info.should_run() || !test_info.result()->Skipped()) {
+        continue;
+      }
+      ColoredPrintf(COLOR_GREEN, "[  SKIPPED ] ");
+      printf("%s.%s", test_case.name(), test_info.name());
+      printf("\n");
+    }
+  }
+}
+
 void PrettyUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test,
                                                      int /*iteration*/) {
   ColoredPrintf(COLOR_GREEN,  "[==========] ");
@@ -3273,6 +3334,13 @@ void PrettyUnitTestResultPrinter::OnTestIterationEnd(c
   ColoredPrintf(COLOR_GREEN,  "[  PASSED  ] ");
   printf("%s.\n", FormatTestCount(unit_test.successful_test_count()).c_str());
 
+  const int skipped_test_count = unit_test.skipped_test_count();
+  if (skipped_test_count > 0) {
+    ColoredPrintf(COLOR_GREEN, "[  SKIPPED ] ");
+    printf("%s, listed below:\n", FormatTestCount(skipped_test_count).c_str());
+    PrintSkippedTests(unit_test);
+  }
+
   int num_failures = unit_test.failed_test_count();
   if (!unit_test.Passed()) {
     const int failed_test_count = unit_test.failed_test_count();
@@ -4540,6 +4608,11 @@ int UnitTest::successful_test_count() const {
   return impl()->successful_test_count();
 }
 
+// Gets the number of skipped tests.
+int UnitTest::skipped_test_count() const {
+  return impl()->skipped_test_count();
+}
+
 // Gets the number of failed tests.
 int UnitTest::failed_test_count() const { return impl()->failed_test_count(); }
 
@@ -4660,7 +4733,8 @@ void UnitTest::AddTestPartResult(
   impl_->GetTestPartResultReporterForCurrentThread()->
       ReportTestPartResult(result);
 
-  if (result_type != TestPartResult::kSuccess) {
+  if (result_type != TestPartResult::kSuccess &&
+      result_type != TestPartResult::kSkip) {
     // gtest_break_on_failure takes precedence over
     // gtest_throw_on_failure.  This allows a user to set the latter
     // in the code (perhaps in order to use Google Test assertions

Modified: projects/capsicum-test/contrib/googletest/googletest/test/googletest-test-part-test.cc
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/test/googletest-test-part-test.cc	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/test/googletest-test-part-test.cc	Fri Mar 22 16:19:37 2019	(r345416)
@@ -46,9 +46,10 @@ class TestPartResultTest : public Test {
   TestPartResultTest()
       : r1_(TestPartResult::kSuccess, "foo/bar.cc", 10, "Success!"),
         r2_(TestPartResult::kNonFatalFailure, "foo/bar.cc", -1, "Failure!"),
-        r3_(TestPartResult::kFatalFailure, NULL, -1, "Failure!") {}
+        r3_(TestPartResult::kFatalFailure, nullptr, -1, "Failure!"),
+        r4_(TestPartResult::kSkip, "foo/bar.cc", 2, "Skipped!") {}
 
-  TestPartResult r1_, r2_, r3_;
+  TestPartResult r1_, r2_, r3_, r4_;
 };
 
 
@@ -79,6 +80,7 @@ TEST_F(TestPartResultTest, ResultAccessorsWork) {
   EXPECT_FALSE(success.failed());
   EXPECT_FALSE(success.nonfatally_failed());
   EXPECT_FALSE(success.fatally_failed());
+  EXPECT_FALSE(success.skipped());
 
   const TestPartResult nonfatal_failure(TestPartResult::kNonFatalFailure,
                                         "file.cc",
@@ -88,6 +90,7 @@ TEST_F(TestPartResultTest, ResultAccessorsWork) {
   EXPECT_TRUE(nonfatal_failure.failed());
   EXPECT_TRUE(nonfatal_failure.nonfatally_failed());
   EXPECT_FALSE(nonfatal_failure.fatally_failed());
+  EXPECT_FALSE(nonfatal_failure.skipped());
 
   const TestPartResult fatal_failure(TestPartResult::kFatalFailure,
                                      "file.cc",
@@ -97,6 +100,14 @@ TEST_F(TestPartResultTest, ResultAccessorsWork) {
   EXPECT_TRUE(fatal_failure.failed());
   EXPECT_FALSE(fatal_failure.nonfatally_failed());
   EXPECT_TRUE(fatal_failure.fatally_failed());
+  EXPECT_FALSE(fatal_failure.skipped());
+
+  const TestPartResult skip(TestPartResult::kSkip, "file.cc", 42, "message");
+  EXPECT_FALSE(skip.passed());
+  EXPECT_FALSE(skip.failed());
+  EXPECT_FALSE(skip.nonfatally_failed());
+  EXPECT_FALSE(skip.fatally_failed());
+  EXPECT_TRUE(skip.skipped());
 }
 
 // Tests TestPartResult::type().
@@ -104,23 +115,27 @@ TEST_F(TestPartResultTest, type) {
   EXPECT_EQ(TestPartResult::kSuccess, r1_.type());
   EXPECT_EQ(TestPartResult::kNonFatalFailure, r2_.type());
   EXPECT_EQ(TestPartResult::kFatalFailure, r3_.type());
+  EXPECT_EQ(TestPartResult::kSkip, r4_.type());
 }
 
 // Tests TestPartResult::file_name().
 TEST_F(TestPartResultTest, file_name) {
   EXPECT_STREQ("foo/bar.cc", r1_.file_name());
   EXPECT_STREQ(NULL, r3_.file_name());
+  EXPECT_STREQ("foo/bar.cc", r4_.file_name());
 }
 
 // Tests TestPartResult::line_number().
 TEST_F(TestPartResultTest, line_number) {
   EXPECT_EQ(10, r1_.line_number());
   EXPECT_EQ(-1, r2_.line_number());
+  EXPECT_EQ(2, r4_.line_number());
 }
 
 // Tests TestPartResult::message().
 TEST_F(TestPartResultTest, message) {
   EXPECT_STREQ("Success!", r1_.message());
+  EXPECT_STREQ("Skipped!", r4_.message());
 }
 
 // Tests TestPartResult::passed().
@@ -128,6 +143,7 @@ TEST_F(TestPartResultTest, Passed) {
   EXPECT_TRUE(r1_.passed());
   EXPECT_FALSE(r2_.passed());
   EXPECT_FALSE(r3_.passed());
+  EXPECT_FALSE(r4_.passed());
 }
 
 // Tests TestPartResult::failed().
@@ -135,13 +151,23 @@ TEST_F(TestPartResultTest, Failed) {
   EXPECT_FALSE(r1_.failed());
   EXPECT_TRUE(r2_.failed());
   EXPECT_TRUE(r3_.failed());
+  EXPECT_FALSE(r4_.failed());
 }
 
+// Tests TestPartResult::failed().
+TEST_F(TestPartResultTest, Skipped) {
+  EXPECT_FALSE(r1_.skipped());
+  EXPECT_FALSE(r2_.skipped());
+  EXPECT_FALSE(r3_.skipped());
+  EXPECT_TRUE(r4_.skipped());
+}
+
 // Tests TestPartResult::fatally_failed().
 TEST_F(TestPartResultTest, FatallyFailed) {
   EXPECT_FALSE(r1_.fatally_failed());
   EXPECT_FALSE(r2_.fatally_failed());
   EXPECT_TRUE(r3_.fatally_failed());
+  EXPECT_FALSE(r4_.fatally_failed());
 }
 
 // Tests TestPartResult::nonfatally_failed().
@@ -149,6 +175,7 @@ TEST_F(TestPartResultTest, NonfatallyFailed) {
   EXPECT_FALSE(r1_.nonfatally_failed());
   EXPECT_TRUE(r2_.nonfatally_failed());
   EXPECT_FALSE(r3_.nonfatally_failed());
+  EXPECT_FALSE(r4_.nonfatally_failed());
 }
 
 // Tests the TestPartResultArray class.

Modified: projects/capsicum-test/contrib/googletest/googletest/test/gtest_all_test.cc
==============================================================================
--- projects/capsicum-test/contrib/googletest/googletest/test/gtest_all_test.cc	Fri Mar 22 16:17:41 2019	(r345415)
+++ projects/capsicum-test/contrib/googletest/googletest/test/gtest_all_test.cc	Fri Mar 22 16:19:37 2019	(r345416)
@@ -37,10 +37,11 @@
 #include "test/googletest-message-test.cc"
 #include "test/googletest-options-test.cc"
 #include "test/googletest-port-test.cc"
-#include "test/gtest_pred_impl_unittest.cc"
-#include "test/gtest_prod_test.cc"
 #include "test/googletest-test-part-test.cc"
-#include "test/gtest-typed-test_test.cc"
 #include "test/gtest-typed-test2_test.cc"
+#include "test/gtest-typed-test_test.cc"
+#include "test/gtest_pred_impl_unittest.cc"
+#include "test/gtest_prod_test.cc"
+#include "test/gtest_skip_test.cc"
 #include "test/gtest_unittest.cc"
 #include "test/production.cc"

Copied: projects/capsicum-test/contrib/googletest/googletest/test/gtest_skip_test.cc (from r345415, head/contrib/googletest/googletest/test/gtest_skip_test.cc)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/capsicum-test/contrib/googletest/googletest/test/gtest_skip_test.cc	Fri Mar 22 16:19:37 2019	(r345416, copy of r345415, head/contrib/googletest/googletest/test/gtest_skip_test.cc)
@@ -0,0 +1,55 @@
+// Copyright 2008 Google Inc.
+// All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//     * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903221619.x2MGJcnN013595>