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...
Gleb Smirnoff
glebius at FreeBSD.org
Fri Nov 7 12:00:37 UTC 2014
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 ***
More information about the svn-src-projects
mailing list