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...
Enji Cooper
ngie at FreeBSD.org
Fri Mar 22 16:19:42 UTC 2019
Author: ngie
Date: Fri Mar 22 16:19:37 2019
New Revision: 345416
URL: https://svnweb.freebsd.org/changeset/base/345416
Log:
MFhead at 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 ***
More information about the svn-src-projects
mailing list