Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Nov 2014 12:00:33 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r274229 - in projects/ifnet: . bin/df bin/sh bin/sh/tests/expansion contrib/atf contrib/atf/atf-c contrib/atf/atf-c++ contrib/atf/atf-c++/detail contrib/atf/atf-c/detail contrib/atf/atf...
Message-ID:  <201411071200.sA7C0Xmi091443@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Fri Nov  7 12:00:32 2014
New Revision: 274229
URL: https://svnweb.freebsd.org/changeset/base/274229

Log:
  Merge head r256150 through r274228.

Added:
  projects/ifnet/bin/sh/tests/expansion/redir1.0
     - copied unchanged from r274228, head/bin/sh/tests/expansion/redir1.0
  projects/ifnet/contrib/atf/atf-c++/atf-c++.3
     - copied unchanged from r274228, head/contrib/atf/atf-c++/atf-c++.3
  projects/ifnet/contrib/atf/atf-c/atf-c.3
     - copied unchanged from r274228, head/contrib/atf/atf-c/atf-c.3
  projects/ifnet/contrib/atf/atf-sh/atf-sh.3
     - copied unchanged from r274228, head/contrib/atf/atf-sh/atf-sh.3
  projects/ifnet/contrib/atf/config.h
     - copied unchanged from r274228, head/contrib/atf/config.h
  projects/ifnet/contrib/atf/doc/atf.7.in
     - copied unchanged from r274228, head/contrib/atf/doc/atf.7.in
  projects/ifnet/etc/rc.d/growfs
     - copied unchanged from r274228, head/etc/rc.d/growfs
  projects/ifnet/lib/libarchive/libarchive.pc
     - copied unchanged from r274228, head/lib/libarchive/libarchive.pc
  projects/ifnet/lib/libc/Makefile.amd64
     - copied unchanged from r274228, head/lib/libc/Makefile.amd64
  projects/ifnet/lib/libc/Makefile.i386
     - copied unchanged from r274228, head/lib/libc/Makefile.i386
  projects/ifnet/lib/libc/tests/
     - copied from r274228, head/lib/libc/tests/
  projects/ifnet/lib/libdpv/
     - copied from r274228, head/lib/libdpv/
  projects/ifnet/lib/libfigpar/
     - copied from r274228, head/lib/libfigpar/
  projects/ifnet/lib/libnetbsd/sys/time.h
     - copied unchanged from r274228, head/lib/libnetbsd/sys/time.h
  projects/ifnet/lib/libpam/libpam/tests/
     - copied from r274228, head/lib/libpam/libpam/tests/
  projects/ifnet/share/doc/pjdfstest/
     - copied from r274228, head/share/doc/pjdfstest/
  projects/ifnet/share/man/man7/growfs.7
     - copied unchanged from r274228, head/share/man/man7/growfs.7
  projects/ifnet/share/mk/netbsd-tests.test.mk
     - copied unchanged from r274228, head/share/mk/netbsd-tests.test.mk
  projects/ifnet/sys/boot/fdt/fdt_platform.h
     - copied unchanged from r274228, head/sys/boot/fdt/fdt_platform.h
  projects/ifnet/sys/boot/uboot/fdt/
     - copied from r274228, head/sys/boot/uboot/fdt/
  projects/ifnet/sys/compat/svr4/README
     - copied unchanged from r274228, head/sys/compat/svr4/README
  projects/ifnet/sys/compat/svr4/TO-DO
     - copied unchanged from r274228, head/sys/compat/svr4/TO-DO
  projects/ifnet/sys/dev/ixl/ixlv_vc_mgr.h
     - copied unchanged from r274228, head/sys/dev/ixl/ixlv_vc_mgr.h
  projects/ifnet/tests/sys/pjdfstest/
     - copied from r274228, head/tests/sys/pjdfstest/
  projects/ifnet/tools/build/check-links.sh
     - copied unchanged from r274228, head/tools/build/check-links.sh
  projects/ifnet/usr.bin/dpv/
     - copied from r274228, head/usr.bin/dpv/
Deleted:
  projects/ifnet/contrib/atf/atf-c++/config.cpp
  projects/ifnet/contrib/atf/atf-c++/config.hpp
  projects/ifnet/contrib/atf/atf-c++/config_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/sanity_test.cpp
  projects/ifnet/contrib/atf/atf-c/config.c
  projects/ifnet/contrib/atf/atf-c/config.h
  projects/ifnet/contrib/atf/atf-c/config_test.c
  projects/ifnet/contrib/atf/bconfig.h
  projects/ifnet/etc/rc.d/postrandom
  projects/ifnet/sys/modules/svr4/README
  projects/ifnet/sys/modules/svr4/TO-DO
  projects/ifnet/tests/lib/
Modified:
  projects/ifnet/MAINTAINERS   (contents, props changed)
  projects/ifnet/Makefile.inc1
  projects/ifnet/ObsoleteFiles.inc
  projects/ifnet/UPDATING
  projects/ifnet/bin/df/Makefile
  projects/ifnet/bin/df/df.1
  projects/ifnet/bin/df/df.c
  projects/ifnet/bin/sh/expand.c
  projects/ifnet/bin/sh/tests/expansion/Makefile
  projects/ifnet/contrib/atf/FREEBSD-Xlist
  projects/ifnet/contrib/atf/NEWS
  projects/ifnet/contrib/atf/atf-c++.hpp
  projects/ifnet/contrib/atf/atf-c++/Kyuafile
  projects/ifnet/contrib/atf/atf-c++/atf_c++_test.cpp
  projects/ifnet/contrib/atf/atf-c++/build.cpp
  projects/ifnet/contrib/atf/atf-c++/build.hpp
  projects/ifnet/contrib/atf/atf-c++/build_test.cpp
  projects/ifnet/contrib/atf/atf-c++/check.cpp
  projects/ifnet/contrib/atf/atf-c++/check.hpp
  projects/ifnet/contrib/atf/atf-c++/check_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/Kyuafile
  projects/ifnet/contrib/atf/atf-c++/detail/application.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/application.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/application_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/auto_array.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/auto_array_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/env.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/env.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/env_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/exceptions.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/exceptions.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/exceptions_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/fs.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/fs.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/fs_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/process.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/process.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/process_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/sanity.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/test_helpers.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/test_helpers.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/text.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/text.hpp
  projects/ifnet/contrib/atf/atf-c++/detail/text_test.cpp
  projects/ifnet/contrib/atf/atf-c++/detail/version_helper.cpp
  projects/ifnet/contrib/atf/atf-c++/macros.hpp
  projects/ifnet/contrib/atf/atf-c++/macros_hpp_test.cpp
  projects/ifnet/contrib/atf/atf-c++/macros_test.cpp
  projects/ifnet/contrib/atf/atf-c++/pkg_config_test.sh
  projects/ifnet/contrib/atf/atf-c++/tests.cpp
  projects/ifnet/contrib/atf/atf-c++/tests.hpp
  projects/ifnet/contrib/atf/atf-c++/tests_test.cpp
  projects/ifnet/contrib/atf/atf-c++/unused_test.cpp
  projects/ifnet/contrib/atf/atf-c++/utils.cpp
  projects/ifnet/contrib/atf/atf-c++/utils.hpp
  projects/ifnet/contrib/atf/atf-c++/utils_test.cpp
  projects/ifnet/contrib/atf/atf-c.h
  projects/ifnet/contrib/atf/atf-c/Kyuafile
  projects/ifnet/contrib/atf/atf-c/atf_c_test.c
  projects/ifnet/contrib/atf/atf-c/build.c
  projects/ifnet/contrib/atf/atf-c/build.h
  projects/ifnet/contrib/atf/atf-c/build_test.c
  projects/ifnet/contrib/atf/atf-c/check.c
  projects/ifnet/contrib/atf/atf-c/check.h
  projects/ifnet/contrib/atf/atf-c/check_test.c
  projects/ifnet/contrib/atf/atf-c/defs.h.in
  projects/ifnet/contrib/atf/atf-c/detail/dynstr.c
  projects/ifnet/contrib/atf/atf-c/detail/dynstr.h
  projects/ifnet/contrib/atf/atf-c/detail/dynstr_test.c
  projects/ifnet/contrib/atf/atf-c/detail/env.c
  projects/ifnet/contrib/atf/atf-c/detail/env.h
  projects/ifnet/contrib/atf/atf-c/detail/env_test.c
  projects/ifnet/contrib/atf/atf-c/detail/fs.c
  projects/ifnet/contrib/atf/atf-c/detail/fs.h
  projects/ifnet/contrib/atf/atf-c/detail/fs_test.c
  projects/ifnet/contrib/atf/atf-c/detail/list.c
  projects/ifnet/contrib/atf/atf-c/detail/list.h
  projects/ifnet/contrib/atf/atf-c/detail/list_test.c
  projects/ifnet/contrib/atf/atf-c/detail/map.c
  projects/ifnet/contrib/atf/atf-c/detail/map.h
  projects/ifnet/contrib/atf/atf-c/detail/map_test.c
  projects/ifnet/contrib/atf/atf-c/detail/process.c
  projects/ifnet/contrib/atf/atf-c/detail/process.h
  projects/ifnet/contrib/atf/atf-c/detail/process_helpers.c
  projects/ifnet/contrib/atf/atf-c/detail/process_test.c
  projects/ifnet/contrib/atf/atf-c/detail/sanity.c
  projects/ifnet/contrib/atf/atf-c/detail/sanity.h
  projects/ifnet/contrib/atf/atf-c/detail/sanity_test.c
  projects/ifnet/contrib/atf/atf-c/detail/test_helpers.c
  projects/ifnet/contrib/atf/atf-c/detail/test_helpers.h
  projects/ifnet/contrib/atf/atf-c/detail/text.c
  projects/ifnet/contrib/atf/atf-c/detail/text.h
  projects/ifnet/contrib/atf/atf-c/detail/text_test.c
  projects/ifnet/contrib/atf/atf-c/detail/tp_main.c
  projects/ifnet/contrib/atf/atf-c/detail/user.c
  projects/ifnet/contrib/atf/atf-c/detail/user.h
  projects/ifnet/contrib/atf/atf-c/detail/user_test.c
  projects/ifnet/contrib/atf/atf-c/detail/version_helper.c
  projects/ifnet/contrib/atf/atf-c/error.c
  projects/ifnet/contrib/atf/atf-c/error.h
  projects/ifnet/contrib/atf/atf-c/error_fwd.h
  projects/ifnet/contrib/atf/atf-c/error_test.c
  projects/ifnet/contrib/atf/atf-c/h_build.h
  projects/ifnet/contrib/atf/atf-c/macros.h
  projects/ifnet/contrib/atf/atf-c/macros_h_test.c
  projects/ifnet/contrib/atf/atf-c/macros_test.c
  projects/ifnet/contrib/atf/atf-c/pkg_config_test.sh
  projects/ifnet/contrib/atf/atf-c/tc.c
  projects/ifnet/contrib/atf/atf-c/tc.h
  projects/ifnet/contrib/atf/atf-c/tc_test.c
  projects/ifnet/contrib/atf/atf-c/tp.c
  projects/ifnet/contrib/atf/atf-c/tp.h
  projects/ifnet/contrib/atf/atf-c/tp_test.c
  projects/ifnet/contrib/atf/atf-c/unused_test.c
  projects/ifnet/contrib/atf/atf-c/utils.c
  projects/ifnet/contrib/atf/atf-c/utils.h
  projects/ifnet/contrib/atf/atf-c/utils_test.c
  projects/ifnet/contrib/atf/atf-sh/atf-check.1
  projects/ifnet/contrib/atf/atf-sh/atf-check.cpp
  projects/ifnet/contrib/atf/atf-sh/atf-check_test.sh
  projects/ifnet/contrib/atf/atf-sh/atf-sh.1
  projects/ifnet/contrib/atf/atf-sh/atf-sh.cpp
  projects/ifnet/contrib/atf/atf-sh/atf_check_test.sh
  projects/ifnet/contrib/atf/atf-sh/config_test.sh
  projects/ifnet/contrib/atf/atf-sh/integration_test.sh
  projects/ifnet/contrib/atf/atf-sh/libatf-sh.subr
  projects/ifnet/contrib/atf/atf-sh/misc_helpers.sh
  projects/ifnet/contrib/atf/atf-sh/normalize_test.sh
  projects/ifnet/contrib/atf/atf-sh/tc_test.sh
  projects/ifnet/contrib/atf/atf-sh/tp_test.sh
  projects/ifnet/contrib/atf/doc/atf-test-case.4
  projects/ifnet/contrib/atf/doc/atf-test-program.1
  projects/ifnet/contrib/atf/test-programs/c_helpers.c
  projects/ifnet/contrib/atf/test-programs/common.sh
  projects/ifnet/contrib/atf/test-programs/config_test.sh
  projects/ifnet/contrib/atf/test-programs/cpp_helpers.cpp
  projects/ifnet/contrib/atf/test-programs/expect_test.sh
  projects/ifnet/contrib/atf/test-programs/meta_data_test.sh
  projects/ifnet/contrib/atf/test-programs/result_test.sh
  projects/ifnet/contrib/atf/test-programs/sh_helpers.sh
  projects/ifnet/contrib/atf/test-programs/srcdir_test.sh
  projects/ifnet/contrib/netbsd-tests/include/t_paths.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/db/t_db.sh
  projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_floatunditf.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_fpsetmask.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_isnan.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/hash/h_hash.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/hash/t_sha2.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/inet/t_inet_network.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/locale/t_io.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/net/h_dns_server.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/net/t_ether_aton.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/net/t_servent.sh
  projects/ifnet/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/ssp/h_memset.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/ssp/h_read.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/ssp/h_readlink.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/ssp/h_snprintf.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh
  projects/ifnet/contrib/netbsd-tests/lib/libc/stdio/t_fflush.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/stdio/t_fmemopen.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/stdio/t_fopen.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/stdio/t_printf.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/stdio/t_scanf.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/stdlib/h_atexit.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_dup.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_getitimer.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_kevent.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_mincore.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_sigaction.c
  projects/ifnet/contrib/netbsd-tests/lib/libc/time/t_mktime.c
  projects/ifnet/contrib/netbsd-tests/lib/libexecinfo/t_backtrace.c
  projects/ifnet/contrib/netbsd-tests/lib/libm/t_ldexp.c
  projects/ifnet/contrib/netbsd-tests/lib/libm/t_log.c
  projects/ifnet/contrib/netbsd-tests/lib/libm/t_precision.c
  projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_mutex.c
  projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_sem.c
  projects/ifnet/contrib/netbsd-tests/usr.sbin/mtree/t_mtree.sh
  projects/ifnet/contrib/openpam/t/t_openpam_ctype.c
  projects/ifnet/contrib/openpam/t/t_openpam_readlinev.c
  projects/ifnet/contrib/openpam/t/t_openpam_readword.c
  projects/ifnet/contrib/tnftp/src/fetch.c
  projects/ifnet/etc/motd
  projects/ifnet/etc/mtree/BSD.tests.dist
  projects/ifnet/etc/periodic/security/Makefile
  projects/ifnet/etc/rc.d/Makefile
  projects/ifnet/etc/rc.d/adjkerntz
  projects/ifnet/etc/rc.d/geli
  projects/ifnet/etc/rc.d/random
  projects/ifnet/etc/rc.d/syscons
  projects/ifnet/etc/rc.d/syslogd
  projects/ifnet/gnu/lib/libdialog/Makefile
  projects/ifnet/lib/Makefile
  projects/ifnet/lib/atf/Makefile.inc
  projects/ifnet/lib/atf/common.mk
  projects/ifnet/lib/atf/libatf-c++/Makefile
  projects/ifnet/lib/atf/libatf-c++/tests/Makefile
  projects/ifnet/lib/atf/libatf-c++/tests/detail/Makefile
  projects/ifnet/lib/atf/libatf-c/Makefile
  projects/ifnet/lib/atf/libatf-c/tests/Makefile
  projects/ifnet/lib/atf/libatf-c/tests/detail/Makefile
  projects/ifnet/lib/libarchive/Makefile
  projects/ifnet/lib/libc/Makefile
  projects/ifnet/lib/libc/sys/utrace.2
  projects/ifnet/lib/libpam/libpam/Makefile
  projects/ifnet/libexec/atf/atf-check/Makefile
  projects/ifnet/libexec/atf/atf-sh/Makefile
  projects/ifnet/libexec/atf/atf-sh/tests/Makefile
  projects/ifnet/release/Makefile
  projects/ifnet/release/doc/en_US.ISO8859-1/hardware/article.xml
  projects/ifnet/rescue/rescue/Makefile
  projects/ifnet/sbin/fsirand/Makefile
  projects/ifnet/sbin/route/route.c
  projects/ifnet/share/doc/Makefile
  projects/ifnet/share/man/man4/tap.4
  projects/ifnet/share/man/man4/vt.4
  projects/ifnet/share/man/man7/Makefile
  projects/ifnet/share/man/man9/domain.9
  projects/ifnet/share/man/man9/fetch.9
  projects/ifnet/share/man/man9/lock.9
  projects/ifnet/share/man/man9/store.9
  projects/ifnet/share/mk/atf.test.mk
  projects/ifnet/share/mk/bsd.lib.mk
  projects/ifnet/share/mk/bsd.libnames.mk
  projects/ifnet/share/mk/bsd.obj.mk
  projects/ifnet/share/mk/bsd.own.mk
  projects/ifnet/share/mk/bsd.prog.mk
  projects/ifnet/share/mk/bsd.progs.mk
  projects/ifnet/share/mk/plain.test.mk
  projects/ifnet/share/mk/tap.test.mk
  projects/ifnet/sys/amd64/amd64/genassym.c
  projects/ifnet/sys/amd64/amd64/sys_machdep.c
  projects/ifnet/sys/amd64/amd64/vm_machdep.c
  projects/ifnet/sys/amd64/conf/GENERIC
  projects/ifnet/sys/amd64/conf/NOTES
  projects/ifnet/sys/arm/arm/busdma_machdep-v6.c
  projects/ifnet/sys/arm/arm/machdep.c
  projects/ifnet/sys/boot/arm/uboot/Makefile
  projects/ifnet/sys/boot/common/install.c
  projects/ifnet/sys/boot/common/misc.c
  projects/ifnet/sys/boot/fdt/Makefile
  projects/ifnet/sys/boot/fdt/fdt_loader_cmd.c
  projects/ifnet/sys/boot/powerpc/uboot/Makefile
  projects/ifnet/sys/boot/uboot/Makefile
  projects/ifnet/sys/boot/uboot/common/metadata.c
  projects/ifnet/sys/boot/uboot/lib/Makefile
  projects/ifnet/sys/boot/uboot/lib/libuboot.h
  projects/ifnet/sys/boot/uboot/lib/module.c
  projects/ifnet/sys/cam/ctl/ctl.c
  projects/ifnet/sys/cam/ctl/ctl.h
  projects/ifnet/sys/cam/ctl/ctl_backend.h
  projects/ifnet/sys/cam/ctl/ctl_backend_block.c
  projects/ifnet/sys/cam/ctl/ctl_error.c
  projects/ifnet/sys/cam/ctl/ctl_frontend_iscsi.c
  projects/ifnet/sys/cam/ctl/ctl_private.h
  projects/ifnet/sys/cam/ctl/scsi_ctl.c
  projects/ifnet/sys/cam/scsi/scsi_all.h
  projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
  projects/ifnet/sys/conf/files.amd64
  projects/ifnet/sys/conf/files.i386
  projects/ifnet/sys/conf/kmod.mk
  projects/ifnet/sys/dev/agp/agp.c
  projects/ifnet/sys/dev/agp/agp_amd.c
  projects/ifnet/sys/dev/agp/agp_amd64.c
  projects/ifnet/sys/dev/agp/agp_apple.c
  projects/ifnet/sys/dev/agp/agp_ati.c
  projects/ifnet/sys/dev/agp/agp_i810.c
  projects/ifnet/sys/dev/agp/agppriv.h
  projects/ifnet/sys/dev/ahci/ahci.c
  projects/ifnet/sys/dev/drm2/drm_edid.c
  projects/ifnet/sys/dev/drm2/drm_fb_helper.c
  projects/ifnet/sys/dev/drm2/drm_fb_helper.h
  projects/ifnet/sys/dev/drm2/radeon/radeon_connectors.c
  projects/ifnet/sys/dev/drm2/ttm/ttm_bo_util.c
  projects/ifnet/sys/dev/gpio/gpiobus.c
  projects/ifnet/sys/dev/gpio/gpiobus_if.m
  projects/ifnet/sys/dev/gpio/gpiobusvar.h
  projects/ifnet/sys/dev/gpio/gpioiic.c
  projects/ifnet/sys/dev/gpio/gpioled.c
  projects/ifnet/sys/dev/hwpmc/hwpmc_mod.c
  projects/ifnet/sys/dev/ida/ida_eisa.c
  projects/ifnet/sys/dev/iscsi/icl.c
  projects/ifnet/sys/dev/iscsi/icl.h
  projects/ifnet/sys/dev/iscsi/iscsi.c
  projects/ifnet/sys/dev/ixl/i40e_osdep.c
  projects/ifnet/sys/dev/ixl/i40e_osdep.h
  projects/ifnet/sys/dev/ixl/if_ixl.c
  projects/ifnet/sys/dev/ixl/if_ixlv.c
  projects/ifnet/sys/dev/ixl/ixl.h
  projects/ifnet/sys/dev/ixl/ixl_txrx.c
  projects/ifnet/sys/dev/ixl/ixlv.h
  projects/ifnet/sys/dev/ixl/ixlvc.c
  projects/ifnet/sys/dev/random/fortuna.c
  projects/ifnet/sys/dev/random/random_adaptors.c
  projects/ifnet/sys/dev/random/yarrow.c
  projects/ifnet/sys/dev/sound/isa/gusc.c
  projects/ifnet/sys/dev/sound/isa/sb16.c
  projects/ifnet/sys/dev/sound/isa/sbc.c
  projects/ifnet/sys/dev/sound/midi/sequencer.c
  projects/ifnet/sys/dev/sound/pci/als4000.c
  projects/ifnet/sys/dev/sound/pci/cs4281.c
  projects/ifnet/sys/dev/sound/pci/csa.c
  projects/ifnet/sys/dev/sound/pci/emu10kx.c
  projects/ifnet/sys/dev/sound/pci/envy24.c
  projects/ifnet/sys/dev/sound/pci/envy24ht.c
  projects/ifnet/sys/dev/sound/pci/maestro.c
  projects/ifnet/sys/dev/sound/pci/spicds.c
  projects/ifnet/sys/dev/sound/pci/vibes.c
  projects/ifnet/sys/dev/sound/pcm/dsp.c
  projects/ifnet/sys/dev/sound/pcm/mixer.c
  projects/ifnet/sys/dev/sound/pcm/sound.c
  projects/ifnet/sys/dev/sound/pcm/sound.h
  projects/ifnet/sys/dev/usb/serial/u3g.c
  projects/ifnet/sys/dev/usb/usb_hub.c
  projects/ifnet/sys/dev/usb/usbdevs
  projects/ifnet/sys/dev/virtio/console/virtio_console.c
  projects/ifnet/sys/dev/vt/vt.h
  projects/ifnet/sys/dev/vt/vt_buf.c
  projects/ifnet/sys/dev/vt/vt_core.c
  projects/ifnet/sys/fs/devfs/devfs_vnops.c
  projects/ifnet/sys/geom/geom_dev.c
  projects/ifnet/sys/i386/conf/NOTES
  projects/ifnet/sys/i386/i386/genassym.c
  projects/ifnet/sys/i386/i386/initcpu.c
  projects/ifnet/sys/i386/i386/locore.s
  projects/ifnet/sys/i386/i386/machdep.c
  projects/ifnet/sys/i386/i386/mp_machdep.c
  projects/ifnet/sys/i386/i386/ptrace_machdep.c
  projects/ifnet/sys/i386/i386/sys_machdep.c
  projects/ifnet/sys/i386/i386/trap.c
  projects/ifnet/sys/i386/i386/vm86bios.s
  projects/ifnet/sys/i386/i386/vm_machdep.c
  projects/ifnet/sys/i386/include/cpufunc.h
  projects/ifnet/sys/i386/include/md_var.h
  projects/ifnet/sys/i386/include/npx.h
  projects/ifnet/sys/i386/include/pcb.h
  projects/ifnet/sys/i386/isa/npx.c
  projects/ifnet/sys/i386/linux/linux_ptrace.c
  projects/ifnet/sys/i386/linux/linux_sysvec.c
  projects/ifnet/sys/i386/svr4/svr4_machdep.c
  projects/ifnet/sys/i386/xen/mp_machdep.c
  projects/ifnet/sys/kern/kern_cons.c
  projects/ifnet/sys/kern/kern_descrip.c
  projects/ifnet/sys/kern/kern_lock.c
  projects/ifnet/sys/kern/kern_mutex.c
  projects/ifnet/sys/kern/kern_prot.c
  projects/ifnet/sys/kern/kern_rwlock.c
  projects/ifnet/sys/kern/kern_sx.c
  projects/ifnet/sys/kern/kern_syscalls.c
  projects/ifnet/sys/kern/kern_thr.c
  projects/ifnet/sys/kern/kern_umtx.c
  projects/ifnet/sys/kern/subr_terminal.c
  projects/ifnet/sys/kern/subr_uio.c
  projects/ifnet/sys/kern/sys_generic.c
  projects/ifnet/sys/kern/sys_pipe.c
  projects/ifnet/sys/kern/uipc_debug.c
  projects/ifnet/sys/kern/vfs_export.c
  projects/ifnet/sys/kern/vfs_lookup.c
  projects/ifnet/sys/modules/Makefile
  projects/ifnet/sys/modules/drm2/drm2/Makefile
  projects/ifnet/sys/modules/ixlv/Makefile
  projects/ifnet/sys/modules/linux/Makefile
  projects/ifnet/sys/modules/mrsas/Makefile
  projects/ifnet/sys/modules/sound/sound/Makefile
  projects/ifnet/sys/modules/svr4/Makefile
  projects/ifnet/sys/modules/vmm/Makefile
  projects/ifnet/sys/net/bpf.c
  projects/ifnet/sys/net/flowtable.c
  projects/ifnet/sys/net/if.c
  projects/ifnet/sys/net/if_bridge.c
  projects/ifnet/sys/net/if_disc.c
  projects/ifnet/sys/net/if_faith.c
  projects/ifnet/sys/net/if_gif.c
  projects/ifnet/sys/net/if_loop.c
  projects/ifnet/sys/net/if_mib.c
  projects/ifnet/sys/net/if_stf.c
  projects/ifnet/sys/net/if_var.h
  projects/ifnet/sys/net/route.c
  projects/ifnet/sys/net/vnet.h
  projects/ifnet/sys/netgraph/ng_bridge.c
  projects/ifnet/sys/netgraph/ng_frame_relay.c
  projects/ifnet/sys/netinet/cc/cc.c
  projects/ifnet/sys/netinet/cc/cc_cdg.c
  projects/ifnet/sys/netinet/cc/cc_chd.c
  projects/ifnet/sys/netinet/cc/cc_hd.c
  projects/ifnet/sys/netinet/cc/cc_htcp.c
  projects/ifnet/sys/netinet/cc/cc_vegas.c
  projects/ifnet/sys/netinet/if_ether.c
  projects/ifnet/sys/netinet/igmp.c
  projects/ifnet/sys/netinet/in.c
  projects/ifnet/sys/netinet/in_gif.c
  projects/ifnet/sys/netinet/in_pcb.c
  projects/ifnet/sys/netinet/in_proto.c
  projects/ifnet/sys/netinet/in_rmx.c
  projects/ifnet/sys/netinet/ip_carp.c
  projects/ifnet/sys/netinet/ip_fastfwd.c
  projects/ifnet/sys/netinet/ip_icmp.c
  projects/ifnet/sys/netinet/ip_input.c
  projects/ifnet/sys/netinet/ip_ipsec.c
  projects/ifnet/sys/netinet/ip_mroute.c
  projects/ifnet/sys/netinet/raw_ip.c
  projects/ifnet/sys/netinet/sctp_sysctl.c
  projects/ifnet/sys/netinet/tcp_hostcache.c
  projects/ifnet/sys/netinet/tcp_input.c
  projects/ifnet/sys/netinet/tcp_output.c
  projects/ifnet/sys/netinet/tcp_sack.c
  projects/ifnet/sys/netinet/tcp_subr.c
  projects/ifnet/sys/netinet/tcp_syncache.c
  projects/ifnet/sys/netinet/tcp_timewait.c
  projects/ifnet/sys/netinet/tcp_var.h
  projects/ifnet/sys/netinet/udp_usrreq.c
  projects/ifnet/sys/netinet6/in6.c
  projects/ifnet/sys/netinet6/in6_gif.c
  projects/ifnet/sys/netinet6/in6_proto.c
  projects/ifnet/sys/netinet6/in6_rmx.c
  projects/ifnet/sys/netinet6/in6_var.h
  projects/ifnet/sys/netinet6/ip6_ipsec.c
  projects/ifnet/sys/netinet6/mld6.c
  projects/ifnet/sys/netinet6/nd6.c
  projects/ifnet/sys/netinet6/scope6.c
  projects/ifnet/sys/netipsec/ipsec.c
  projects/ifnet/sys/netipsec/ipsec_input.c
  projects/ifnet/sys/netipsec/key.c
  projects/ifnet/sys/netipsec/xform_ah.c
  projects/ifnet/sys/netipsec/xform_esp.c
  projects/ifnet/sys/netipsec/xform_ipcomp.c
  projects/ifnet/sys/netipsec/xform_ipip.c
  projects/ifnet/sys/netpfil/ipfw/ip_fw2.c
  projects/ifnet/sys/netpfil/ipfw/ip_fw_dynamic.c
  projects/ifnet/sys/netpfil/ipfw/ip_fw_pfil.c
  projects/ifnet/sys/netpfil/ipfw/ip_fw_table.c
  projects/ifnet/sys/netpfil/pf/if_pfsync.c
  projects/ifnet/sys/powerpc/powerpc/copyinout.c
  projects/ifnet/sys/sys/disk.h
  projects/ifnet/sys/sys/domain.h
  projects/ifnet/sys/sys/lockmgr.h
  projects/ifnet/sys/sys/param.h
  projects/ifnet/sys/sys/seq.h
  projects/ifnet/sys/sys/sysctl.h
  projects/ifnet/sys/sys/sysent.h
  projects/ifnet/sys/sys/systm.h
  projects/ifnet/sys/sys/terminal.h
  projects/ifnet/sys/sys/ucred.h
  projects/ifnet/sys/sys/user.h
  projects/ifnet/sys/ufs/ffs/ffs_softdep.c
  projects/ifnet/sys/vm/default_pager.c
  projects/ifnet/sys/vm/swap_pager.c
  projects/ifnet/sys/vm/vm_page.c
  projects/ifnet/sys/x86/acpica/acpi_wakeup.c
  projects/ifnet/tests/sys/Makefile
  projects/ifnet/tools/build/mk/OptionalObsoleteFiles.inc
  projects/ifnet/tools/sched/schedgraph.py
  projects/ifnet/usr.bin/Makefile
  projects/ifnet/usr.bin/ftp/Makefile
  projects/ifnet/usr.bin/iconv/Makefile
  projects/ifnet/usr.bin/id/Makefile
  projects/ifnet/usr.bin/w/Makefile
  projects/ifnet/usr.bin/w/pr_time.c
  projects/ifnet/usr.bin/w/w.1
  projects/ifnet/usr.bin/w/w.c
  projects/ifnet/usr.bin/wc/Makefile
  projects/ifnet/usr.bin/wc/wc.1
  projects/ifnet/usr.bin/wc/wc.c
  projects/ifnet/usr.sbin/bhyve/block_if.c
  projects/ifnet/usr.sbin/bhyve/pci_ahci.c
  projects/ifnet/usr.sbin/bsdconfig/Makefile
  projects/ifnet/usr.sbin/bsdconfig/console/Makefile
  projects/ifnet/usr.sbin/bsdconfig/console/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/diskmgmt/Makefile
  projects/ifnet/usr.sbin/bsdconfig/diskmgmt/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/docsinstall/Makefile
  projects/ifnet/usr.sbin/bsdconfig/docsinstall/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/dot/Makefile
  projects/ifnet/usr.sbin/bsdconfig/dot/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/examples/Makefile
  projects/ifnet/usr.sbin/bsdconfig/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/includes/Makefile
  projects/ifnet/usr.sbin/bsdconfig/includes/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/mouse/Makefile
  projects/ifnet/usr.sbin/bsdconfig/mouse/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/networking/Makefile
  projects/ifnet/usr.sbin/bsdconfig/networking/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/networking/share/Makefile
  projects/ifnet/usr.sbin/bsdconfig/packages/Makefile
  projects/ifnet/usr.sbin/bsdconfig/packages/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/password/Makefile
  projects/ifnet/usr.sbin/bsdconfig/password/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/password/share/Makefile
  projects/ifnet/usr.sbin/bsdconfig/security/Makefile
  projects/ifnet/usr.sbin/bsdconfig/security/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/share/Makefile
  projects/ifnet/usr.sbin/bsdconfig/share/media/Makefile
  projects/ifnet/usr.sbin/bsdconfig/share/packages/Makefile
  projects/ifnet/usr.sbin/bsdconfig/startup/Makefile
  projects/ifnet/usr.sbin/bsdconfig/startup/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/startup/share/Makefile
  projects/ifnet/usr.sbin/bsdconfig/timezone/Makefile
  projects/ifnet/usr.sbin/bsdconfig/timezone/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/timezone/share/Makefile
  projects/ifnet/usr.sbin/bsdconfig/ttys/Makefile
  projects/ifnet/usr.sbin/bsdconfig/ttys/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/usermgmt/Makefile
  projects/ifnet/usr.sbin/bsdconfig/usermgmt/include/Makefile
  projects/ifnet/usr.sbin/bsdconfig/usermgmt/share/Makefile
  projects/ifnet/usr.sbin/bsdinstall/bsdinstall.8
  projects/ifnet/usr.sbin/ctladm/ctladm.8
  projects/ifnet/usr.sbin/fifolog/fifolog_reader/Makefile
  projects/ifnet/usr.sbin/fifolog/fifolog_writer/Makefile
  projects/ifnet/usr.sbin/iscsid/Makefile
  projects/ifnet/usr.sbin/pw/tests/Makefile
  projects/ifnet/usr.sbin/rpcbind/Makefile
  projects/ifnet/usr.sbin/sysrc/sysrc
  projects/ifnet/usr.sbin/sysrc/sysrc.8
Directory Properties:
  projects/ifnet/   (props changed)
  projects/ifnet/contrib/atf/   (props changed)
  projects/ifnet/contrib/openpam/   (props changed)
  projects/ifnet/contrib/tnftp/   (props changed)
  projects/ifnet/etc/   (props changed)
  projects/ifnet/gnu/lib/   (props changed)
  projects/ifnet/lib/libc/   (props changed)
  projects/ifnet/sbin/   (props changed)
  projects/ifnet/share/   (props changed)
  projects/ifnet/share/man/man4/   (props changed)
  projects/ifnet/sys/   (props changed)
  projects/ifnet/sys/boot/   (props changed)
  projects/ifnet/sys/cddl/contrib/opensolaris/   (props changed)
  projects/ifnet/sys/conf/   (props changed)
  projects/ifnet/sys/modules/vmm/   (props changed)
  projects/ifnet/usr.sbin/bhyve/   (props changed)

Modified: projects/ifnet/MAINTAINERS
==============================================================================
--- projects/ifnet/MAINTAINERS	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/MAINTAINERS	Fri Nov  7 12:00:32 2014	(r274229)
@@ -78,7 +78,6 @@ inetd		dwmalone	Recommends pre-commit re
 contrib/smbfs	bp	Open for in-tree committs. In case of functional
 			changes pre-commit review requested.
 contrib/pf	glebius	Pre-commit review recommended.
-binutils	obrien	Insists on BU blocked from unapproved commits
 file		obrien	Insists to keep file blocked from other's unapproved
 			commits
 contrib/bzip2	obrien	Pre-commit review required.

Modified: projects/ifnet/Makefile.inc1
==============================================================================
--- projects/ifnet/Makefile.inc1	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/Makefile.inc1	Fri Nov  7 12:00:32 2014	(r274229)
@@ -1537,6 +1537,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		${_kerberos5_lib_libwind} \
 		lib/libbz2 ${_libcom_err} lib/libcrypt \
 		lib/libelf lib/libexpat \
+		lib/libfigpar \
 		${_lib_libgssapi} \
 		lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
 		${_lib_libcapsicum} \
@@ -1551,7 +1552,8 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		${_cddl_lib_libctf} \
 		lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_lib_libldns} \
-		${_secure_lib_libssh} ${_secure_lib_libssl}
+		${_secure_lib_libssh} ${_secure_lib_libssl} \
+		gnu/lib/libdialog
 .if ${MK_GNUCXX} != "no"
 _prebuild_libs+= gnu/lib/libstdc++ gnu/lib/libsupc++
 gnu/lib/libstdc++__L: lib/msun__L
@@ -1669,6 +1671,8 @@ _lib_libypclnt=	lib/libypclnt
 lib/libradius__L: lib/libmd__L
 .endif
 
+gnu/lib/libdialog__L: lib/ncurses/ncursesw__L
+
 .for _lib in ${_prereq_libs}
 ${_lib}__PL: .PHONY .MAKE
 .if exists(${.CURDIR}/${_lib})

Modified: projects/ifnet/ObsoleteFiles.inc
==============================================================================
--- projects/ifnet/ObsoleteFiles.inc	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/ObsoleteFiles.inc	Fri Nov  7 12:00:32 2014	(r274229)
@@ -38,6 +38,10 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20141102: postrandom obsoleted by new /dev/random code
+OLD_FILES+=etc/rc.d/postrandom
+# 20141031: initrandom obsoleted by new /dev/random code
+OLD_FILES+=etc/rc.d/initrandom
 # 20141028: debug files accidentally installed as directory name
 OLD_FILES+=usr/lib/debug/usr/lib/i18n
 OLD_FILES+=usr/lib/debug/usr/lib/private
@@ -372,7 +376,6 @@ OLD_FILES+=usr/share/man/man1/atf-report
 OLD_FILES+=usr/share/man/man1/atf-run.1.gz
 OLD_FILES+=usr/share/man/man1/atf-version.1.gz
 OLD_FILES+=usr/share/man/man5/atf-formats.5.gz
-OLD_FILES+=usr/share/man/man7/atf.7.gz
 OLD_FILES+=usr/share/xml/atf/tests-results.dtd
 OLD_FILES+=usr/share/xsl/atf/tests-results.xsl
 # 20131009: freebsd-version moved from /libexec to /bin

Modified: projects/ifnet/UPDATING
==============================================================================
--- projects/ifnet/UPDATING	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/UPDATING	Fri Nov  7 12:00:32 2014	(r274229)
@@ -31,6 +31,29 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20141104:
+	vt(4), the new console driver, is enabled by default. It brings
+	support for Unicode and double-width characters, as well as
+	support for UEFI and integration with the KMS kernel video
+	drivers.
+
+	You may need to update your console settings in /etc/rc.conf,
+	most probably the keymap. During boot, /etc/rc.d/syscons will
+	indicate what you need to do.
+
+	vt(4) still has issues and lacks some features compared to
+	syscons(4). See the wiki for up-to-date information:
+	  https://wiki.freebsd.org/Newcons
+
+	If you want to keep using syscons(4), you can do so by adding
+	the following line to /boot/loader.conf:
+	  kern.vty=sc
+
+20141102:
+	pjdfstest has been integrated into kyua as an opt-in test suite.
+	Please see share/doc/pjdfstest/README for a more details on how to
+	execute it.
+
 20141009:
 	gperf has been removed from the base system for architectures
 	that use clang. Ports that require gperf will obtain it from the

Modified: projects/ifnet/bin/df/Makefile
==============================================================================
--- projects/ifnet/bin/df/Makefile	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/bin/df/Makefile	Fri Nov  7 12:00:32 2014	(r274229)
@@ -9,7 +9,7 @@ SRCS=	df.c vfslist.c
 
 CFLAGS+= -I${MOUNT}
 
-DPADD=	${LIBUTIL}
-LDADD=	-lutil
+DPADD=	${LIBUTIL} ${LIBXO}
+LDADD=	-lutil -lxo
 
 .include <bsd.prog.mk>

Modified: projects/ifnet/bin/df/df.1
==============================================================================
--- projects/ifnet/bin/df/df.1	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/bin/df/df.1	Fri Nov  7 12:00:32 2014	(r274229)
@@ -29,7 +29,7 @@
 .\"     @(#)df.1	8.3 (Berkeley) 5/8/95
 .\" $FreeBSD$
 .\"
-.Dd January 16, 2014
+.Dd November 6, 2014
 .Dt DF 1
 .Os
 .Sh NAME
@@ -37,6 +37,7 @@
 .Nd display free disk space
 .Sh SYNOPSIS
 .Nm
+.Op Fl -libxo
 .Op Fl b | g | H | h | k | m | P
 .Op Fl acilnT
 .Op Fl \&,
@@ -193,7 +194,9 @@ If the value is outside, it will be set 
 .Xr statfs 2 ,
 .Xr getbsize 3 ,
 .Xr getmntinfo 3 ,
+.Xr libxo 3 ,
 .Xr localeconv 3 ,
+.Xr xo_parse_args 3 ,
 .Xr fstab 5 ,
 .Xr mount 8 ,
 .Xr pstat 8 ,

Modified: projects/ifnet/bin/df/df.c
==============================================================================
--- projects/ifnet/bin/df/df.c	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/bin/df/df.c	Fri Nov  7 12:00:32 2014	(r274229)
@@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <sysexits.h>
 #include <unistd.h>
+#include <libxo/xo.h>
 
 #include "extern.h"
 
@@ -82,7 +83,7 @@ static char	 *getmntpt(const char *);
 static int	  int64width(int64_t);
 static char	 *makenetvfslist(void);
 static void	  prthuman(const struct statfs *, int64_t);
-static void	  prthumanval(int64_t);
+static void	  prthumanval(const char *, int64_t);
 static intmax_t	  fsbtoblk(int64_t, uint64_t, u_long);
 static void	  prtstat(struct statfs *, struct maxwidths *);
 static size_t	  regetmntinfo(struct statfs **, long, const char **);
@@ -119,6 +120,11 @@ main(int argc, char *argv[])
 	totalbuf.f_bsize = DEV_BSIZE;
 	strlcpy(totalbuf.f_mntfromname, "total", MNAMELEN);
 	vfslist = NULL;
+
+	argc = xo_parse_args(argc, argv);
+	if (argc < 0)
+		exit(1);
+
 	while ((ch = getopt(argc, argv, "abcgHhiklmnPt:T,")) != -1)
 		switch (ch) {
 		case 'a':
@@ -161,7 +167,7 @@ main(int argc, char *argv[])
 			break;
 		case 'l':
 			if (vfslist != NULL)
-				errx(1, "-l and -t are mutually exclusive.");
+				xo_errx(1, "-l and -t are mutually exclusive.");
 			vfslist = makevfslist(makenetvfslist());
 			lflag = 1;
 			break;
@@ -174,9 +180,9 @@ main(int argc, char *argv[])
 			break;
 		case 't':
 			if (lflag)
-				errx(1, "-l and -t are mutually exclusive.");
+				xo_errx(1, "-l and -t are mutually exclusive.");
 			if (vfslist != NULL)
-				errx(1, "only one -t option may be specified");
+				xo_errx(1, "only one -t option may be specified");
 			fstype = optarg;
 			vfslist = makevfslist(optarg);
 			break;
@@ -202,16 +208,19 @@ main(int argc, char *argv[])
 		/* just the filesystems specified on the command line */
 		mntbuf = malloc(argc * sizeof(*mntbuf));
 		if (mntbuf == NULL)
-			err(1, "malloc()");
+			xo_err(1, "malloc()");
 		mntsize = 0;
 		/* continued in for loop below */
 	}
 
+	xo_open_container("storage-system-information");
+	xo_open_list("filesystem");
+
 	/* iterate through specified filesystems */
 	for (; *argv; argv++) {
 		if (stat(*argv, &stbuf) < 0) {
 			if ((mntpt = getmntpt(*argv)) == NULL) {
-				warn("%s", *argv);
+				xo_warn("%s", *argv);
 				rv = 1;
 				continue;
 			}
@@ -220,20 +229,20 @@ main(int argc, char *argv[])
 				mdev.fspec = *argv;
 				mntpath = strdup("/tmp/df.XXXXXX");
 				if (mntpath == NULL) {
-					warn("strdup failed");
+					xo_warn("strdup failed");
 					rv = 1;
 					continue;
 				}
 				mntpt = mkdtemp(mntpath);
 				if (mntpt == NULL) {
-					warn("mkdtemp(\"%s\") failed", mntpath);
+					xo_warn("mkdtemp(\"%s\") failed", mntpath);
 					rv = 1;
 					free(mntpath);
 					continue;
 				}
 				if (mount(fstype, mntpt, MNT_RDONLY,
 				    &mdev) != 0) {
-					warn("%s", *argv);
+					xo_warn("%s", *argv);
 					rv = 1;
 					(void)rmdir(mntpt);
 					free(mntpath);
@@ -244,7 +253,7 @@ main(int argc, char *argv[])
 					if (cflag)
 						addstat(&totalbuf, &statfsbuf);
 				} else {
-					warn("%s", *argv);
+					xo_warn("%s", *argv);
 					rv = 1;
 				}
 				(void)unmount(mntpt, 0);
@@ -260,7 +269,7 @@ main(int argc, char *argv[])
 		 * implement nflag here.
 		 */
 		if (statfs(mntpt, &statfsbuf) < 0) {
-			warn("%s", mntpt);
+			xo_warn("%s", mntpt);
 			rv = 1;
 			continue;
 		}
@@ -294,8 +303,14 @@ main(int argc, char *argv[])
 	for (i = 0; i < mntsize; i++)
 		if (aflag || (mntbuf[i].f_flags & MNT_IGNORE) == 0)
 			prtstat(&mntbuf[i], &maxwidths);
+
+	xo_close_list("filesystem");
+
 	if (cflag)
 		prtstat(&totalbuf, &maxwidths);
+
+	xo_close_container("storage-system-information");
+	xo_finish();
 	return (rv);
 }
 
@@ -341,7 +356,7 @@ regetmntinfo(struct statfs **mntbufp, lo
 		if (nflag || error < 0)
 			if (i != j) {
 				if (error < 0)
-					warnx("%s stats possibly stale",
+					xo_warnx("%s stats possibly stale",
 					    mntbuf[i].f_mntonname);
 				mntbuf[j] = mntbuf[i];
 			}
@@ -354,13 +369,13 @@ static void
 prthuman(const struct statfs *sfsp, int64_t used)
 {
 
-	prthumanval(sfsp->f_blocks * sfsp->f_bsize);
-	prthumanval(used * sfsp->f_bsize);
-	prthumanval(sfsp->f_bavail * sfsp->f_bsize);
+	prthumanval("  {:blocks/%6s}", sfsp->f_blocks * sfsp->f_bsize);
+	prthumanval("  {:used/%6s}", used * sfsp->f_bsize);
+	prthumanval("  {:available/%6s}", sfsp->f_bavail * sfsp->f_bsize);
 }
 
 static void
-prthumanval(int64_t bytes)
+prthumanval(const char *fmt, int64_t bytes)
 {
 	char buf[6];
 	int flags;
@@ -372,14 +387,15 @@ prthumanval(int64_t bytes)
 	humanize_number(buf, sizeof(buf) - (bytes < 0 ? 0 : 1),
 	    bytes, "", HN_AUTOSCALE, flags);
 
-	(void)printf("  %6s", buf);
+	xo_attr("value", "%lld", (long long) bytes);
+	xo_emit(fmt, buf);
 }
 
 /*
  * Print an inode count in "human-readable" format.
  */
 static void
-prthumanvalinode(int64_t bytes)
+prthumanvalinode(const char *fmt, int64_t bytes)
 {
 	char buf[6];
 	int flags;
@@ -389,7 +405,8 @@ prthumanvalinode(int64_t bytes)
 	humanize_number(buf, sizeof(buf) - (bytes < 0 ? 0 : 1),
 	    bytes, "", HN_AUTOSCALE, flags);
 
-	(void)printf(" %5s", buf);
+	xo_attr("value", "%lld", (long long) bytes);
+	xo_emit(fmt, buf);
 }
 
 /*
@@ -434,70 +451,77 @@ prtstat(struct statfs *sfsp, struct maxw
 		mwp->used = imax(mwp->used, (int)strlen("Used"));
 		mwp->avail = imax(mwp->avail, (int)strlen("Avail"));
 
-		(void)printf("%-*s", mwp->mntfrom, "Filesystem");
+		xo_emit("{T:/%-*s}", mwp->mntfrom, "Filesystem");
 		if (Tflag)
-			(void)printf("  %-*s", mwp->fstype, "Type");
-		(void)printf(" %*s %*s %*s Capacity", mwp->total, header,
-		    mwp->used, "Used", mwp->avail, "Avail");
+			xo_emit("  {T:/%-*s}", mwp->fstype, "Type");
+		xo_emit(" {T:/%*s} {T:/%*s} {T:/%*s} Capacity",
+			mwp->total, header,
+			mwp->used, "Used", mwp->avail, "Avail");
 		if (iflag) {
 			mwp->iused = imax(hflag ? 0 : mwp->iused,
 			    (int)strlen("  iused"));
 			mwp->ifree = imax(hflag ? 0 : mwp->ifree,
 			    (int)strlen("ifree"));
-			(void)printf(" %*s %*s %%iused",
+			xo_emit(" {T:/%*s} {T:/%*s} {T:\%iused}",
 			    mwp->iused - 2, "iused", mwp->ifree, "ifree");
 		}
-		(void)printf("  Mounted on\n");
+		xo_emit("  {T:Mounted on}\n");
 	}
+
+	xo_open_instance("filesystem");
 	/* Check for 0 block size.  Can this happen? */
 	if (sfsp->f_bsize == 0) {
-		warnx ("File system %s does not have a block size, assuming 512.",
+		xo_warnx ("File system %s does not have a block size, assuming 512.",
 		    sfsp->f_mntonname);
 		sfsp->f_bsize = 512;
 	}
-	(void)printf("%-*s", mwp->mntfrom, sfsp->f_mntfromname);
+	xo_emit("{tk:name/%-*s}", mwp->mntfrom, sfsp->f_mntfromname);
 	if (Tflag)
-		(void)printf("  %-*s", mwp->fstype, sfsp->f_fstypename);
+		xo_emit("  {:type/%-*s}", mwp->fstype, sfsp->f_fstypename);
 	used = sfsp->f_blocks - sfsp->f_bfree;
 	availblks = sfsp->f_bavail + used;
 	if (hflag) {
 		prthuman(sfsp, used);
 	} else {
 		if (thousands)
-		    format = " %*j'd %*j'd %*j'd";
+		    format = " {t:total-blocks/%*j'd} {t:used-blocks/%*j'd} "
+			"{t:available-blocks/%*j'd}";
 		else
-		    format = " %*jd %*jd %*jd";
-		(void)printf(format,
+		    format = " {t:total-blocks/%*jd} {t:used-blocks/%*jd} "
+			"{t:available-blocks/%*jd}";
+		xo_emit(format,
 		    mwp->total, fsbtoblk(sfsp->f_blocks,
 		    sfsp->f_bsize, blocksize),
 		    mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize),
 		    mwp->avail, fsbtoblk(sfsp->f_bavail,
 		    sfsp->f_bsize, blocksize));
 	}
-	(void)printf(" %5.0f%%",
+	xo_emit(" {:used-percent/%5.0f}{U:%%}",
 	    availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0);
 	if (iflag) {
 		inodes = sfsp->f_files;
 		used = inodes - sfsp->f_ffree;
 		if (hflag) {
-			(void)printf("  ");
-			prthumanvalinode(used);
-			prthumanvalinode(sfsp->f_ffree);
+			xo_emit("  ");
+			prthumanvalinode(" {:inodes-used/%5s}", used);
+			prthumanvalinode(" {:inodes-free/%5s}", sfsp->f_ffree);
 		} else {
 			if (thousands)
-			    format = " %*j'd %*j'd";
+			    format = " {:inodes-used/%*j'd} {:inodes-free/%*j'd}";
 			else
-			    format = " %*jd %*jd";
-			(void)printf(format, mwp->iused, (intmax_t)used,
+			    format = " {:inodes-used/%*jd} {:inodes-free/%*jd}";
+			xo_emit(format, mwp->iused, (intmax_t)used,
 			    mwp->ifree, (intmax_t)sfsp->f_ffree);
 		}
-		(void)printf(" %4.0f%% ", inodes == 0 ? 100.0 :
-		    (double)used / (double)inodes * 100.0);
+		xo_emit(" {:inodes-used-percent/%4.0f}{U:%%} ",
+			inodes == 0 ? 100.0 :
+			(double)used / (double)inodes * 100.0);
 	} else
-		(void)printf("  ");
+		xo_emit("  ");
 	if (strncmp(sfsp->f_mntfromname, "total", MNAMELEN) != 0)
-		(void)printf("  %s", sfsp->f_mntonname);
-	(void)printf("\n");
+		xo_emit("  {:mounted-on}", sfsp->f_mntonname);
+	xo_emit("\n");
+	xo_close_instance("filesystem");
 }
 
 static void
@@ -564,7 +588,7 @@ static void
 usage(void)
 {
 
-	(void)fprintf(stderr,
+	xo_error(
 "usage: df [-b | -g | -H | -h | -k | -m | -P] [-acilnT] [-t type] [-,]\n"
 "          [file | filesystem ...]\n");
 	exit(EX_USAGE);
@@ -579,24 +603,24 @@ makenetvfslist(void)
 	int cnt, i, maxvfsconf;
 
 	if (sysctlbyname("vfs.conflist", NULL, &buflen, NULL, 0) < 0) {
-		warn("sysctl(vfs.conflist)");
+		xo_warn("sysctl(vfs.conflist)");
 		return (NULL);
 	}
 	xvfsp = malloc(buflen);
 	if (xvfsp == NULL) {
-		warnx("malloc failed");
+		xo_warnx("malloc failed");
 		return (NULL);
 	}
 	keep_xvfsp = xvfsp;
 	if (sysctlbyname("vfs.conflist", xvfsp, &buflen, NULL, 0) < 0) {
-		warn("sysctl(vfs.conflist)");
+		xo_warn("sysctl(vfs.conflist)");
 		free(keep_xvfsp);
 		return (NULL);
 	}
 	maxvfsconf = buflen / sizeof(struct xvfsconf);
 
 	if ((listptr = malloc(sizeof(char*) * maxvfsconf)) == NULL) {
-		warnx("malloc failed");
+		xo_warnx("malloc failed");
 		free(keep_xvfsp);
 		return (NULL);
 	}
@@ -605,7 +629,7 @@ makenetvfslist(void)
 		if (xvfsp->vfc_flags & VFCF_NETWORK) {
 			listptr[cnt++] = strdup(xvfsp->vfc_name);
 			if (listptr[cnt-1] == NULL) {
-				warnx("malloc failed");
+				xo_warnx("malloc failed");
 				free(listptr);
 				free(keep_xvfsp);
 				return (NULL);
@@ -617,7 +641,7 @@ makenetvfslist(void)
 	if (cnt == 0 ||
 	    (str = malloc(sizeof(char) * (32 * cnt + cnt + 2))) == NULL) {
 		if (cnt > 0)
-			warnx("malloc failed");
+			xo_warnx("malloc failed");
 		free(listptr);
 		free(keep_xvfsp);
 		return (NULL);

Modified: projects/ifnet/bin/sh/expand.c
==============================================================================
--- projects/ifnet/bin/sh/expand.c	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/bin/sh/expand.c	Fri Nov  7 12:00:32 2014	(r274229)
@@ -862,7 +862,7 @@ varisset(const char *name, int nulok)
 static void
 strtodest(const char *p, int flag, int subtype, int quoted)
 {
-	if (flag & (EXP_FULL | EXP_CASE) && subtype != VSLENGTH)
+	if (flag & (EXP_FULL | EXP_CASE | EXP_REDIR) && subtype != VSLENGTH)
 		STPUTS_QUOTES(p, quoted ? DQSYNTAX : BASESYNTAX, expdest);
 	else
 		STPUTS(p, expdest);

Modified: projects/ifnet/bin/sh/tests/expansion/Makefile
==============================================================================
--- projects/ifnet/bin/sh/tests/expansion/Makefile	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/bin/sh/tests/expansion/Makefile	Fri Nov  7 12:00:32 2014	(r274229)
@@ -72,6 +72,7 @@ FILES+=		plus-minus7.0
 FILES+=		plus-minus8.0
 FILES+=		question1.0
 FILES+=		readonly1.0
+FILES+=		redir1.0
 FILES+=		set-u1.0
 FILES+=		set-u2.0
 FILES+=		set-u3.0

Copied: projects/ifnet/bin/sh/tests/expansion/redir1.0 (from r274228, head/bin/sh/tests/expansion/redir1.0)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ifnet/bin/sh/tests/expansion/redir1.0	Fri Nov  7 12:00:32 2014	(r274229, copy of r274228, head/bin/sh/tests/expansion/redir1.0)
@@ -0,0 +1,26 @@
+# $FreeBSD$
+
+bad=0
+for i in 0 1 2 3; do
+	for j in 0 1 2 3 4 5 6 7; do
+		for k in 0 1 2 3 4 5 6 7; do
+			case $i$j$k in
+			000) continue ;;
+			esac
+			set -- "$(printf \\$i$j$k@)"
+			set -- "${1%@}"
+			ff=
+			for f in /dev/null /dev/zero /; do
+				if [ -e "$f" ] && [ ! -e "$f$1" ]; then
+					ff=$f
+				fi
+			done
+			[ -n "$ff" ] || continue
+			if { true <$ff$1; } 2>/dev/null; then
+				echo "Bad: $i$j$k ($ff)" >&2
+				: $((bad += 1))
+			fi
+		done
+	done
+done
+exit $((bad ? 2 : 0))

Modified: projects/ifnet/contrib/atf/FREEBSD-Xlist
==============================================================================
--- projects/ifnet/contrib/atf/FREEBSD-Xlist	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/contrib/atf/FREEBSD-Xlist	Fri Nov  7 12:00:32 2014	(r274229)
@@ -1,22 +1,12 @@
-*/*/Atffile
 */*/Makefile*
-*/Atffile
 */Makefile*
 */*.m4
 */*.pc.in
-Atffile
 INSTALL
 Makefile*
 aclocal.m4
 admin/
-atf-config/
-atf-report/
-atf-run/
-atf-version/
-bconfig.h.in
+config.h.in
 bootstrap/
 configure*
-doc/atf-formats.5
-doc/atf.7.in
 m4/
-tools/

Modified: projects/ifnet/contrib/atf/NEWS
==============================================================================
--- projects/ifnet/contrib/atf/NEWS	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/contrib/atf/NEWS	Fri Nov  7 12:00:32 2014	(r274229)
@@ -1,6 +1,62 @@
 Major changes between releases                  Automated Testing Framework
 ===========================================================================
 
+Changes in version 0.21
+***********************
+
+Released on October 23rd, 2014.
+
+* Restored the atf(7) manual page to serve as a reference to all the other
+  manual pages shipped by ATF.
+
+* Added the -s flag to atf-sh to support specifying the shell interpreter
+  to be used.
+
+* Removed ATF_WORKDIR.  The only remaining consumers have been converted to
+  use the standard TMPDIR environment variable.  As a benefit, and because
+  Kyua forces the TMPDIR to live within the test case's work directory,
+  any stale files left behind by ATF will be automatically cleaned up.
+
+* Documented the environment variables recognized by each component in the
+  relevant manual pages.  This information was lost with the atf-config(1)
+  removal.
+
+* Added a new "require.diskspace" metadata property to test cases so that
+  they can specify the minimum amount of disk space required for the test
+  to run.
+
+* Renamed the atf-{c,c++,sh}-api(3) manual pages to atf-{c,c++,sh}(3) for
+  discoverability purposes.  Symbolic links are provided for the time
+  being to still make the old names visible.
+
+* Issue #5: Recommend the (expected, actual) idiom for calls to the test
+  macros in the manual pages.
+
+* Issue #7: Stopped catching unhandled exceptions in atf-c++ tests.  This
+  propagates the crash to the caller, which in turn allows it to obtain
+  proper debugging information.  In particular, Kyua should now be able to
+  extract a stacktrace pinpointing the problem.
+
+* Issue #8: Fixed atf-c/macros_test:use test failures spotted by the clang
+  that ships with FreeBSD 11.0-CURRENT.
+
+* Issue #12: Improved documentation of atf-sh(3) and atf-check(1) by better
+  explaining how they relate to each other.
+
+* Issue #14: Stopped setting 'set -e' in atf-sh.  This setting was
+  initially added as a way to enable a "strict" mode in the library and to
+  make test cases fail fast when they run unprotected commands.  However,
+  doing so in the library is surprising as the responsibility of enabling
+  'set -e' should be on the user's code.  Also, 'set -e' introduces
+  inconsistent behavior on subshells and users do not expect that.
+
+* Issue #15: Fixed atf_utils_{fork,wait} to support nested calls.
+
+* Issue #16: Fixed test failures (by removing a long-standing hack) on
+  systems that lack \e support in printf(1).
+
+* Issue #19: Removed stale references to atf-config and atf-run.
+
 
 Changes in version 0.20
 ***********************

Modified: projects/ifnet/contrib/atf/atf-c++.hpp
==============================================================================
--- projects/ifnet/contrib/atf/atf-c++.hpp	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/contrib/atf/atf-c++.hpp	Fri Nov  7 12:00:32 2014	(r274229)
@@ -1,6 +1,3 @@
-//
-// Automated Testing Framework (atf)
-//
 // Copyright (c) 2007 The NetBSD Foundation, Inc.
 // All rights reserved.
 //
@@ -25,12 +22,11 @@
 // IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 // IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
 
-#if !defined(_ATF_CXX_HPP_)
-#define _ATF_CXX_HPP_
+#if !defined(ATF_CXX_HPP)
+#define ATF_CXX_HPP
 
 #include <atf-c++/macros.hpp>
 #include <atf-c++/utils.hpp>
 
-#endif // !defined(_ATF_CXX_HPP_)
+#endif // !defined(ATF_CXX_HPP)

Modified: projects/ifnet/contrib/atf/atf-c++/Kyuafile
==============================================================================
--- projects/ifnet/contrib/atf/atf-c++/Kyuafile	Fri Nov  7 11:34:06 2014	(r274228)
+++ projects/ifnet/contrib/atf/atf-c++/Kyuafile	Fri Nov  7 12:00:32 2014	(r274229)
@@ -5,7 +5,6 @@ test_suite("atf")
 atf_test_program{name="atf_c++_test"}
 atf_test_program{name="build_test"}
 atf_test_program{name="check_test"}
-atf_test_program{name="config_test"}
 atf_test_program{name="macros_test"}
 atf_test_program{name="pkg_config_test"}
 atf_test_program{name="tests_test"}

Copied: projects/ifnet/contrib/atf/atf-c++/atf-c++.3 (from r274228, head/contrib/atf/atf-c++/atf-c++.3)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ifnet/contrib/atf/atf-c++/atf-c++.3	Fri Nov  7 12:00:32 2014	(r274229, copy of r274228, head/contrib/atf/atf-c++/atf-c++.3)
@@ -0,0 +1,649 @@
+.\" Copyright (c) 2008 The NetBSD Foundation, 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:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. 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.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.Dd October 13, 2014
+.Dt ATF-C++ 3
+.Os
+.Sh NAME
+.Nm atf-c++ ,
+.Nm ATF_ADD_TEST_CASE ,
+.Nm ATF_CHECK_ERRNO ,
+.Nm ATF_FAIL ,
+.Nm ATF_INIT_TEST_CASES ,
+.Nm ATF_PASS ,
+.Nm ATF_REQUIRE ,
+.Nm ATF_REQUIRE_EQ ,
+.Nm ATF_REQUIRE_ERRNO ,
+.Nm ATF_REQUIRE_IN ,
+.Nm ATF_REQUIRE_MATCH ,
+.Nm ATF_REQUIRE_NOT_IN ,
+.Nm ATF_REQUIRE_THROW ,
+.Nm ATF_REQUIRE_THROW_RE ,
+.Nm ATF_SKIP ,
+.Nm ATF_TEST_CASE ,
+.Nm ATF_TEST_CASE_BODY ,
+.Nm ATF_TEST_CASE_CLEANUP ,
+.Nm ATF_TEST_CASE_HEAD ,
+.Nm ATF_TEST_CASE_NAME ,
+.Nm ATF_TEST_CASE_USE ,
+.Nm ATF_TEST_CASE_WITH_CLEANUP ,
+.Nm ATF_TEST_CASE_WITHOUT_HEAD ,
+.Nm atf::utils::cat_file ,
+.Nm atf::utils::compare_file ,
+.Nm atf::utils::copy_file ,
+.Nm atf::utils::create_file ,
+.Nm atf::utils::file_exists ,
+.Nm atf::utils::fork ,
+.Nm atf::utils::grep_collection ,
+.Nm atf::utils::grep_file ,
+.Nm atf::utils::grep_string ,
+.Nm atf::utils::redirect ,
+.Nm atf::utils::wait
+.Nd C++ API to write ATF-based test programs
+.Sh SYNOPSIS
+.In atf-c++.hpp
+.Fn ATF_ADD_TEST_CASE "tcs" "name"
+.Fn ATF_CHECK_ERRNO "expected_errno" "bool_expression"
+.Fn ATF_FAIL "reason"
+.Fn ATF_INIT_TEST_CASES "tcs"
+.Fn ATF_PASS
+.Fn ATF_REQUIRE "expression"
+.Fn ATF_REQUIRE_EQ "expected_expression" "actual_expression"
+.Fn ATF_REQUIRE_ERRNO "expected_errno" "bool_expression"
+.Fn ATF_REQUIRE_IN "element" "collection"
+.Fn ATF_REQUIRE_MATCH "regexp" "string_expression"
+.Fn ATF_REQUIRE_NOT_IN "element" "collection"
+.Fn ATF_REQUIRE_THROW "expected_exception" "statement"
+.Fn ATF_REQUIRE_THROW_RE "expected_exception" "regexp" "statement"
+.Fn ATF_SKIP "reason"
+.Fn ATF_TEST_CASE "name"
+.Fn ATF_TEST_CASE_BODY "name"
+.Fn ATF_TEST_CASE_CLEANUP "name"
+.Fn ATF_TEST_CASE_HEAD "name"
+.Fn ATF_TEST_CASE_NAME "name"
+.Fn ATF_TEST_CASE_USE "name"
+.Fn ATF_TEST_CASE_WITH_CLEANUP "name"
+.Fn ATF_TEST_CASE_WITHOUT_HEAD "name"
+.Ft void
+.Fo atf::utils::cat_file
+.Fa "const std::string& path"
+.Fa "const std::string& prefix"
+.Fc
+.Ft bool
+.Fo atf::utils::compare_file
+.Fa "const std::string& path"
+.Fa "const std::string& contents"
+.Fc
+.Ft void
+.Fo atf::utils::copy_file
+.Fa "const std::string& source"
+.Fa "const std::string& destination"
+.Fc
+.Ft void
+.Fo atf::utils::create_file
+.Fa "const std::string& path"
+.Fa "const std::string& contents"
+.Fc
+.Ft void
+.Fo atf::utils::file_exists
+.Fa "const std::string& path"
+.Fc
+.Ft pid_t
+.Fo atf::utils::fork
+.Fa "void"
+.Fc
+.Ft bool
+.Fo atf::utils::grep_collection
+.Fa "const std::string& regexp"
+.Fa "const Collection& collection"
+.Fc
+.Ft bool
+.Fo atf::utils::grep_file
+.Fa "const std::string& regexp"
+.Fa "const std::string& path"
+.Fc
+.Ft bool
+.Fo atf::utils::grep_string
+.Fa "const std::string& regexp"
+.Fa "const std::string& path"
+.Fc
+.Ft void
+.Fo atf::utils::redirect
+.Fa "const int fd"
+.Fa "const std::string& path"
+.Fc
+.Ft void
+.Fo atf::utils::wait
+.Fa "const pid_t pid"
+.Fa "const int expected_exit_status"
+.Fa "const std::string& expected_stdout"
+.Fa "const std::string& expected_stderr"
+.Fc
+.Sh DESCRIPTION
+ATF provides a C++ programming interface to implement test programs.
+C++-based test programs follow this template:
+.Bd -literal -offset indent
+extern "C" {
+.Ns ... C-specific includes go here ...
+}
+
+.Ns ... C++-specific includes go here ...
+
+#include <atf-c++.hpp>
+
+ATF_TEST_CASE(tc1);
+ATF_TEST_CASE_HEAD(tc1)
+{
+    ... first test case's header ...
+}
+ATF_TEST_CASE_BODY(tc1)
+{
+    ... first test case's body ...
+}
+
+ATF_TEST_CASE_WITH_CLEANUP(tc2);
+ATF_TEST_CASE_HEAD(tc2)
+{
+    ... second test case's header ...
+}
+ATF_TEST_CASE_BODY(tc2)
+{
+    ... second test case's body ...
+}
+ATF_TEST_CASE_CLEANUP(tc2)
+{
+    ... second test case's cleanup ...
+}
+
+ATF_TEST_CASE(tc3);
+ATF_TEST_CASE_BODY(tc3)
+{
+    ... third test case's body ...
+}
+
+.Ns ... additional test cases ...
+
+ATF_INIT_TEST_CASES(tcs)
+{
+    ATF_ADD_TEST_CASE(tcs, tc1);
+    ATF_ADD_TEST_CASE(tcs, tc2);
+    ATF_ADD_TEST_CASE(tcs, tc3);
+    ... add additional test cases ...
+}
+.Ed
+.Ss Definition of test cases
+Test cases have an identifier and are composed of three different parts:
+the header, the body and an optional cleanup routine, all of which are
+described in
+.Xr atf-test-case 4 .
+To define test cases, one can use the
+.Fn ATF_TEST_CASE ,
+.Fn ATF_TEST_CASE_WITH_CLEANUP
+or the
+.Fn ATF_TEST_CASE_WITHOUT_HEAD
+macros, which take a single parameter specifiying the test case's
+name.
+.Fn ATF_TEST_CASE ,
+requires to define a head and a body for the test case,
+.Fn ATF_TEST_CASE_WITH_CLEANUP
+requires to define a head, a body and a cleanup for the test case and
+.Fn ATF_TEST_CASE_WITHOUT_HEAD
+requires only a body for the test case.
+It is important to note that these
+.Em do not
+set the test case up for execution when the program is run.
+In order to do so, a later registration is needed through the
+.Fn ATF_ADD_TEST_CASE
+macro detailed in
+.Sx Program initialization .
+.Pp
+Later on, one must define the three parts of the body by means of three
+functions.
+Their headers are given by the
+.Fn ATF_TEST_CASE_HEAD ,
+.Fn ATF_TEST_CASE_BODY
+and
+.Fn ATF_TEST_CASE_CLEANUP
+macros, all of which take the test case's name.
+Following each of these, a block of code is expected, surrounded by the
+opening and closing brackets.
+.Pp
+Additionally, the
+.Fn ATF_TEST_CASE_NAME
+macro can be used to obtain the name of the class corresponding to a
+particular test case, as the name is internally manged by the library to
+prevent clashes with other user identifiers.
+Similarly, the
+.Fn ATF_TEST_CASE_USE
+macro can be executed on a particular test case to mark it as "used" and
+thus prevent compiler warnings regarding unused symbols.
+Note that
+.Em you should never have to use these macros during regular operation.
+.Ss Program initialization
+The library provides a way to easily define the test program's
+.Fn main
+function.
+You should never define one on your own, but rely on the
+library to do it for you.
+This is done by using the
+.Fn ATF_INIT_TEST_CASES
+macro, which is passed the name of the list that will hold the test cases.
+This name can be whatever you want as long as it is a valid variable value.
+.Pp
+After the macro, you are supposed to provide the body of a function, which
+should only use the
+.Fn ATF_ADD_TEST_CASE
+macro to register the test cases the test program will execute.
+The first parameter of this macro matches the name you provided in the
+former call.
+.Ss Header definitions
+The test case's header can define the meta-data by using the
+.Fn set_md_var
+method, which takes two parameters: the first one specifies the
+meta-data variable to be set and the second one specifies its value.
+Both of them are strings.
+.Ss Configuration variables
+The test case has read-only access to the current configuration variables
+by means of the
+.Ft bool
+.Fn has_config_var
+and the
+.Ft std::string
+.Fn get_config_var
+methods, which can be called in any of the three parts of a test case.
+.Ss Access to the source directory
+It is possible to get the path to the test case's source directory from any
+of its three components by querying the
+.Sq srcdir
+configuration variable.
+.Ss Requiring programs
+Aside from the
+.Va require.progs
+meta-data variable available in the header only, one can also check for
+additional programs in the test case's body by using the
+.Fn require_prog
+function, which takes the base name or full path of a single binary.
+Relative paths are forbidden.
+If it is not found, the test case will be automatically skipped.
+.Ss Test case finalization
+The test case finalizes either when the body reaches its end, at which
+point the test is assumed to have
+.Em passed ,
+or at any explicit call to
+.Fn ATF_PASS ,
+.Fn ATF_FAIL
+or
+.Fn ATF_SKIP .
+These three macros terminate the execution of the test case immediately.
+The cleanup routine will be processed afterwards in a completely automated
+way, regardless of the test case's termination reason.
+.Pp
+.Fn ATF_PASS
+does not take any parameters.
+.Fn ATF_FAIL
+and
+.Fn ATF_SKIP
+take a single string that describes why the test case failed or
+was skipped, respectively.
+It is very important to provide a clear error message in both cases so that
+the user can quickly know why the test did not pass.
+.Ss Expectations
+Everything explained in the previous section changes when the test case
+expectations are redefined by the programmer.
+.Pp
+Each test case has an internal state called
+.Sq expect
+that describes what the test case expectations are at any point in time.
+The value of this property can change during execution by any of:
+.Bl -tag -width indent
+.It Fn expect_death "reason"
+Expects the test case to exit prematurely regardless of the nature of the
+exit.
+.It Fn expect_exit "exitcode" "reason"
+Expects the test case to exit cleanly.
+If
+.Va exitcode
+is not
+.Sq -1 ,
+the runtime engine will validate that the exit code of the test case
+matches the one provided in this call.
+Otherwise, the exact value will be ignored.
+.It Fn expect_fail "reason"
+Any failure (be it fatal or non-fatal) raised in this mode is recorded.
+However, such failures do not report the test case as failed; instead, the
+test case finalizes cleanly and is reported as
+.Sq expected failure ;
+this report includes the provided
+.Fa reason
+as part of it.
+If no error is raised while running in this mode, then the test case is
+reported as
+.Sq failed .
+.Pp
+This mode is useful to reproduce actual known bugs in tests.

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



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