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>