Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Aug 2016 01:05:08 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r303980 - in vendor/NetBSD/tests/dist: . bin/cat bin/sh bin/sh/dotcmd crypto/opencrypto dev dev/audio dev/dm dev/fss dev/fss/CVS dev/md dev/scsipi dev/sysmon dev/usb dev/usb/CVS dev/usb...
Message-ID:  <201608120105.u7C158oX073929@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Fri Aug 12 01:05:07 2016
New Revision: 303980
URL: https://svnweb.freebsd.org/changeset/base/303980

Log:
  Update ^/vendor/NetBSD/tests/dist to a more recent snapshot
  
  Pulled on "Thu Aug 11 18:01:19 PDT 2016"

Added:
  vendor/NetBSD/tests/dist/bin/cat/d_se_output.in   (contents, props changed)
  vendor/NetBSD/tests/dist/bin/cat/d_se_output.out
  vendor/NetBSD/tests/dist/bin/sh/t_arith.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/bin/sh/t_cmdsub.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/bin/sh/t_option.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/bin/sh/t_redir.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/bin/sh/t_redircloexec.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/bin/sh/t_shift.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/bin/sh/t_varval.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/dev/fss/
  vendor/NetBSD/tests/dist/dev/fss/CVS/
  vendor/NetBSD/tests/dist/dev/fss/CVS/Entries
  vendor/NetBSD/tests/dist/dev/fss/CVS/Repository
  vendor/NetBSD/tests/dist/dev/fss/CVS/Root
  vendor/NetBSD/tests/dist/dev/fss/CVS/Tag
  vendor/NetBSD/tests/dist/dev/fss/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/dev/fss/t_fss.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/dev/usb/
  vendor/NetBSD/tests/dist/dev/usb/CVS/
  vendor/NetBSD/tests/dist/dev/usb/CVS/Entries
  vendor/NetBSD/tests/dist/dev/usb/CVS/Repository
  vendor/NetBSD/tests/dist/dev/usb/CVS/Root
  vendor/NetBSD/tests/dist/dev/usb/CVS/Tag
  vendor/NetBSD/tests/dist/dev/usb/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/dev/usb/libhid/
  vendor/NetBSD/tests/dist/dev/usb/libhid/CVS/
  vendor/NetBSD/tests/dist/dev/usb/libhid/CVS/Entries
  vendor/NetBSD/tests/dist/dev/usb/libhid/CVS/Repository
  vendor/NetBSD/tests/dist/dev/usb/libhid/CVS/Root
  vendor/NetBSD/tests/dist/dev/usb/libhid/CVS/Tag
  vendor/NetBSD/tests/dist/dev/usb/libhid/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/dev/usb/t_hid/
  vendor/NetBSD/tests/dist/dev/usb/t_hid.c   (contents, props changed)
  vendor/NetBSD/tests/dist/dev/usb/t_hid/CVS/
  vendor/NetBSD/tests/dist/dev/usb/t_hid/CVS/Entries
  vendor/NetBSD/tests/dist/dev/usb/t_hid/CVS/Repository
  vendor/NetBSD/tests/dist/dev/usb/t_hid/CVS/Root
  vendor/NetBSD/tests/dist/dev/usb/t_hid/CVS/Tag
  vendor/NetBSD/tests/dist/dev/usb/t_hid/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/fs/nfs/Makefile.inc   (contents, props changed)
  vendor/NetBSD/tests/dist/include/sys/t_pslist.c   (contents, props changed)
  vendor/NetBSD/tests/dist/kernel/kqueue/t_vnode.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/db/h_lfsr.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/db/t_db_hash_seq.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/hash/t_hmac.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/inet/t_inet_addr.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/stdio/t_open_memstream.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/stdlib/t_strtoi.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/sync/cpp_atomic_ops_linkable.cc   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/sys/t_bind.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/sys/t_getsockname.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/sys/t_posix_fallocate.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libc/sys/t_wait.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libm/t_fenv.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libm/t_hypot.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libusbhid/
  vendor/NetBSD/tests/dist/lib/libusbhid/CVS/
  vendor/NetBSD/tests/dist/lib/libusbhid/CVS/Entries
  vendor/NetBSD/tests/dist/lib/libusbhid/CVS/Repository
  vendor/NetBSD/tests/dist/lib/libusbhid/CVS/Root
  vendor/NetBSD/tests/dist/lib/libusbhid/CVS/Tag
  vendor/NetBSD/tests/dist/lib/libusbhid/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libusbhid/hid_test_data.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libusbhid/t_usbhid.c   (contents, props changed)
  vendor/NetBSD/tests/dist/lib/libusbhid/test_usb_hid_usages
  vendor/NetBSD/tests/dist/net/arp/
  vendor/NetBSD/tests/dist/net/arp/CVS/
  vendor/NetBSD/tests/dist/net/arp/CVS/Entries
  vendor/NetBSD/tests/dist/net/arp/CVS/Repository
  vendor/NetBSD/tests/dist/net/arp/CVS/Root
  vendor/NetBSD/tests/dist/net/arp/CVS/Tag
  vendor/NetBSD/tests/dist/net/arp/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/net/arp/t_arp.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/arp/t_dad.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/icmp/t_icmp6_redirect.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/icmp/t_icmp_redirect.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if/ifconf.c   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if/t_ifconf.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if/t_ifconfig.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if_gif/
  vendor/NetBSD/tests/dist/net/if_gif/CVS/
  vendor/NetBSD/tests/dist/net/if_gif/CVS/Entries
  vendor/NetBSD/tests/dist/net/if_gif/CVS/Repository
  vendor/NetBSD/tests/dist/net/if_gif/CVS/Root
  vendor/NetBSD/tests/dist/net/if_gif/CVS/Tag
  vendor/NetBSD/tests/dist/net/if_gif/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if_gif/t_gif.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if_pppoe/
  vendor/NetBSD/tests/dist/net/if_pppoe/CVS/
  vendor/NetBSD/tests/dist/net/if_pppoe/CVS/Entries
  vendor/NetBSD/tests/dist/net/if_pppoe/CVS/Repository
  vendor/NetBSD/tests/dist/net/if_pppoe/CVS/Root
  vendor/NetBSD/tests/dist/net/if_pppoe/CVS/Tag
  vendor/NetBSD/tests/dist/net/if_pppoe/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if_pppoe/t_pppoe.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if_tap/
  vendor/NetBSD/tests/dist/net/if_tap/CVS/
  vendor/NetBSD/tests/dist/net/if_tap/CVS/Entries
  vendor/NetBSD/tests/dist/net/if_tap/CVS/Repository
  vendor/NetBSD/tests/dist/net/if_tap/CVS/Root
  vendor/NetBSD/tests/dist/net/if_tap/CVS/Tag
  vendor/NetBSD/tests/dist/net/if_tap/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/net/if_tap/t_tap.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/in_cksum/
  vendor/NetBSD/tests/dist/net/in_cksum/CVS/
  vendor/NetBSD/tests/dist/net/in_cksum/CVS/Entries
  vendor/NetBSD/tests/dist/net/in_cksum/CVS/Repository
  vendor/NetBSD/tests/dist/net/in_cksum/CVS/Root
  vendor/NetBSD/tests/dist/net/in_cksum/CVS/Tag
  vendor/NetBSD/tests/dist/net/in_cksum/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/net/in_cksum/assym.h   (contents, props changed)
  vendor/NetBSD/tests/dist/net/in_cksum/in_cksum.c   (contents, props changed)
  vendor/NetBSD/tests/dist/net/in_cksum/t_in_cksum.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/mcast/
  vendor/NetBSD/tests/dist/net/mcast/CVS/
  vendor/NetBSD/tests/dist/net/mcast/CVS/Entries
  vendor/NetBSD/tests/dist/net/mcast/CVS/Repository
  vendor/NetBSD/tests/dist/net/mcast/CVS/Root
  vendor/NetBSD/tests/dist/net/mcast/CVS/Tag
  vendor/NetBSD/tests/dist/net/mcast/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/net/mcast/mcast.c   (contents, props changed)
  vendor/NetBSD/tests/dist/net/mcast/t_mcast.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/mpls/t_mpls_fw6.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/mpls/t_mpls_fw64.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/ndp/
  vendor/NetBSD/tests/dist/net/ndp/CVS/
  vendor/NetBSD/tests/dist/net/ndp/CVS/Entries
  vendor/NetBSD/tests/dist/net/ndp/CVS/Repository
  vendor/NetBSD/tests/dist/net/ndp/CVS/Root
  vendor/NetBSD/tests/dist/net/ndp/CVS/Tag
  vendor/NetBSD/tests/dist/net/ndp/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/net/ndp/t_dad.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/ndp/t_ndp.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/ndp/t_ra.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/net/t_forwarding.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/net/t_ipaddress.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/net/t_ipv6_lifetime.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/net/t_ipv6address.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/route/t_flags.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/route/t_flags6.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/net/route/t_route.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/rump/rumpkern/Makefile.inc   (contents, props changed)
  vendor/NetBSD/tests/dist/sbin/gpt/
  vendor/NetBSD/tests/dist/sbin/gpt/CVS/
  vendor/NetBSD/tests/dist/sbin/gpt/CVS/Entries
  vendor/NetBSD/tests/dist/sbin/gpt/CVS/Repository
  vendor/NetBSD/tests/dist/sbin/gpt/CVS/Root
  vendor/NetBSD/tests/dist/sbin/gpt/CVS/Tag
  vendor/NetBSD/tests/dist/sbin/gpt/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.2part.show.label
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.2part.show.normal
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.2part.show.uuid
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.backup   (contents, props changed)
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.disklabel
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.disklabel.show.normal
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.empty.show.normal
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.removepart.show.normal
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.resizedisk.show.normal
  vendor/NetBSD/tests/dist/sbin/gpt/gpt.resizepart.show.normal
  vendor/NetBSD/tests/dist/sbin/gpt/t_gpt.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/sbin/resize_ffs/t_check.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/net/
  vendor/NetBSD/tests/dist/sys/net/CVS/
  vendor/NetBSD/tests/dist/sys/net/CVS/Entries
  vendor/NetBSD/tests/dist/sys/net/CVS/Repository
  vendor/NetBSD/tests/dist/sys/net/CVS/Root
  vendor/NetBSD/tests/dist/sys/net/CVS/Tag
  vendor/NetBSD/tests/dist/sys/net/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/net/t_print.c   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/netatalk/
  vendor/NetBSD/tests/dist/sys/netatalk/CVS/
  vendor/NetBSD/tests/dist/sys/netatalk/CVS/Entries
  vendor/NetBSD/tests/dist/sys/netatalk/CVS/Repository
  vendor/NetBSD/tests/dist/sys/netatalk/CVS/Root
  vendor/NetBSD/tests/dist/sys/netatalk/CVS/Tag
  vendor/NetBSD/tests/dist/sys/netatalk/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/netatalk/t_print.c   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/netinet/
  vendor/NetBSD/tests/dist/sys/netinet/CVS/
  vendor/NetBSD/tests/dist/sys/netinet/CVS/Entries
  vendor/NetBSD/tests/dist/sys/netinet/CVS/Repository
  vendor/NetBSD/tests/dist/sys/netinet/CVS/Root
  vendor/NetBSD/tests/dist/sys/netinet/CVS/Tag
  vendor/NetBSD/tests/dist/sys/netinet/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/netinet/t_print.c   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/netinet6/
  vendor/NetBSD/tests/dist/sys/netinet6/CVS/
  vendor/NetBSD/tests/dist/sys/netinet6/CVS/Entries
  vendor/NetBSD/tests/dist/sys/netinet6/CVS/Repository
  vendor/NetBSD/tests/dist/sys/netinet6/CVS/Root
  vendor/NetBSD/tests/dist/sys/netinet6/CVS/Tag
  vendor/NetBSD/tests/dist/sys/netinet6/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/sys/netinet6/t_print.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/config/d_min
  vendor/NetBSD/tests/dist/usr.bin/config/support/conf/Makefile.kern.inc   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/gdb/
  vendor/NetBSD/tests/dist/usr.bin/gdb/CVS/
  vendor/NetBSD/tests/dist/usr.bin/gdb/CVS/Entries
  vendor/NetBSD/tests/dist/usr.bin/gdb/CVS/Repository
  vendor/NetBSD/tests/dist/usr.bin/gdb/CVS/Root
  vendor/NetBSD/tests/dist/usr.bin/gdb/CVS/Tag
  vendor/NetBSD/tests/dist/usr.bin/gdb/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/gdb/t_regress.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/ld/
  vendor/NetBSD/tests/dist/usr.bin/ld/CVS/
  vendor/NetBSD/tests/dist/usr.bin/ld/CVS/Entries
  vendor/NetBSD/tests/dist/usr.bin/ld/CVS/Repository
  vendor/NetBSD/tests/dist/usr.bin/ld/CVS/Root
  vendor/NetBSD/tests/dist/usr.bin/ld/CVS/Tag
  vendor/NetBSD/tests/dist/usr.bin/ld/Makefile   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/ld/t_script.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/ld/t_section.sh   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/netpgpverify/Testspec
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_c99_anon_struct.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_c99_compound_literal_comma.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_c99_flex_array_packed.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_c99_nested_struct.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_c99_union_init4.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_cast_fun_array_param.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_type_question_colon.c   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/d_typefun.c   (contents, props changed)
Deleted:
  vendor/NetBSD/tests/dist/bin/sh/t_compexit.sh
  vendor/NetBSD/tests/dist/dev/Makefile.inc
  vendor/NetBSD/tests/dist/fs/nfs/nfsservice/mountd.c
  vendor/NetBSD/tests/dist/fs/nfs/nfsservice/nfsd.c
  vendor/NetBSD/tests/dist/fs/nfs/nfsservice/rpcbind/
Modified:
  vendor/NetBSD/tests/dist/Makefile
  vendor/NetBSD/tests/dist/bin/cat/Makefile
  vendor/NetBSD/tests/dist/bin/cat/d_align.in
  vendor/NetBSD/tests/dist/bin/cat/d_align.out
  vendor/NetBSD/tests/dist/bin/cat/t_cat.sh
  vendor/NetBSD/tests/dist/bin/sh/Makefile
  vendor/NetBSD/tests/dist/bin/sh/dotcmd/Makefile
  vendor/NetBSD/tests/dist/bin/sh/dotcmd/scoped_command
  vendor/NetBSD/tests/dist/bin/sh/dotcmd/t_dotcmd.sh
  vendor/NetBSD/tests/dist/bin/sh/t_evaltested.sh
  vendor/NetBSD/tests/dist/bin/sh/t_exit.sh
  vendor/NetBSD/tests/dist/bin/sh/t_expand.sh
  vendor/NetBSD/tests/dist/bin/sh/t_fsplit.sh
  vendor/NetBSD/tests/dist/bin/sh/t_here.sh
  vendor/NetBSD/tests/dist/bin/sh/t_set_e.sh
  vendor/NetBSD/tests/dist/bin/sh/t_ulimit.sh
  vendor/NetBSD/tests/dist/bin/sh/t_varquote.sh
  vendor/NetBSD/tests/dist/bin/sh/t_wait.sh
  vendor/NetBSD/tests/dist/crypto/opencrypto/t_opencrypto.sh
  vendor/NetBSD/tests/dist/dev/Makefile
  vendor/NetBSD/tests/dist/dev/audio/Makefile
  vendor/NetBSD/tests/dist/dev/audio/t_pad_output.bz2.uue
  vendor/NetBSD/tests/dist/dev/dm/Makefile
  vendor/NetBSD/tests/dist/dev/dm/h_dm.c
  vendor/NetBSD/tests/dist/dev/md/Makefile
  vendor/NetBSD/tests/dist/dev/scsipi/Makefile
  vendor/NetBSD/tests/dist/dev/sysmon/Makefile
  vendor/NetBSD/tests/dist/dev/sysmon/t_swsensor.sh
  vendor/NetBSD/tests/dist/dev/sysmon/t_swwdog.c
  vendor/NetBSD/tests/dist/fs/Makefile.inc
  vendor/NetBSD/tests/dist/fs/common/fstest_lfs.c
  vendor/NetBSD/tests/dist/fs/common/h_fsmacros.h
  vendor/NetBSD/tests/dist/fs/ffs/Makefile
  vendor/NetBSD/tests/dist/fs/msdosfs/Makefile
  vendor/NetBSD/tests/dist/fs/nfs/Makefile
  vendor/NetBSD/tests/dist/fs/nfs/nfsservice/Makefile
  vendor/NetBSD/tests/dist/fs/nfs/nfsservice/rumpnfsd.c
  vendor/NetBSD/tests/dist/fs/nfs/t_rquotad.sh
  vendor/NetBSD/tests/dist/fs/puffs/h_dtfs/Makefile
  vendor/NetBSD/tests/dist/fs/tmpfs/t_vnd.sh
  vendor/NetBSD/tests/dist/fs/vfs/Makefile
  vendor/NetBSD/tests/dist/fs/vfs/t_io.c
  vendor/NetBSD/tests/dist/fs/vfs/t_renamerace.c
  vendor/NetBSD/tests/dist/fs/vfs/t_unpriv.c
  vendor/NetBSD/tests/dist/fs/vfs/t_vnops.c
  vendor/NetBSD/tests/dist/games/t_factor.sh
  vendor/NetBSD/tests/dist/h_macros.h
  vendor/NetBSD/tests/dist/include/sys/Makefile
  vendor/NetBSD/tests/dist/include/sys/t_bitops.c
  vendor/NetBSD/tests/dist/include/sys/t_cdefs.c
  vendor/NetBSD/tests/dist/include/sys/t_socket.c
  vendor/NetBSD/tests/dist/include/t_paths.c
  vendor/NetBSD/tests/dist/ipf/expected/n14
  vendor/NetBSD/tests/dist/ipf/expected/n14_6
  vendor/NetBSD/tests/dist/ipf/t_filter_parse.sh
  vendor/NetBSD/tests/dist/ipf/t_nat_exec.sh
  vendor/NetBSD/tests/dist/kernel/Makefile
  vendor/NetBSD/tests/dist/kernel/kqueue/Makefile
  vendor/NetBSD/tests/dist/kernel/kqueue/t_ioctl.c
  vendor/NetBSD/tests/dist/kernel/kqueue/t_proc1.c
  vendor/NetBSD/tests/dist/kernel/kqueue/t_proc2.c
  vendor/NetBSD/tests/dist/kernel/kqueue/t_proc3.c
  vendor/NetBSD/tests/dist/kernel/t_rnd.c
  vendor/NetBSD/tests/dist/kernel/tty/Makefile
  vendor/NetBSD/tests/dist/lib/Makefile
  vendor/NetBSD/tests/dist/lib/csu/Makefile
  vendor/NetBSD/tests/dist/lib/libbpfjit/Makefile
  vendor/NetBSD/tests/dist/lib/libbpfjit/t_bpfjit.c
  vendor/NetBSD/tests/dist/lib/libc/arch/ia64/return_one.S
  vendor/NetBSD/tests/dist/lib/libc/arch/powerpc/return_one.S
  vendor/NetBSD/tests/dist/lib/libc/arch/riscv/return_one.S
  vendor/NetBSD/tests/dist/lib/libc/db/Makefile
  vendor/NetBSD/tests/dist/lib/libc/db/t_db.sh
  vendor/NetBSD/tests/dist/lib/libc/gen/Makefile
  vendor/NetBSD/tests/dist/lib/libc/gen/execve/t_execve.c
  vendor/NetBSD/tests/dist/lib/libc/gen/isqemu.h
  vendor/NetBSD/tests/dist/lib/libc/gen/posix_spawn/t_spawn.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_floatunditf.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_fnmatch.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_fpsetmask.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_isnan.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_randomid.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_siginfo.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_sleep.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_time.c
  vendor/NetBSD/tests/dist/lib/libc/gen/t_vis.c
  vendor/NetBSD/tests/dist/lib/libc/hash/Makefile
  vendor/NetBSD/tests/dist/lib/libc/inet/Makefile
  vendor/NetBSD/tests/dist/lib/libc/inet/t_inet_network.c
  vendor/NetBSD/tests/dist/lib/libc/net/t_servent.sh
  vendor/NetBSD/tests/dist/lib/libc/rpc/t_rpc.c
  vendor/NetBSD/tests/dist/lib/libc/stdio/Makefile
  vendor/NetBSD/tests/dist/lib/libc/stdlib/Makefile
  vendor/NetBSD/tests/dist/lib/libc/stdlib/t_getenv.c
  vendor/NetBSD/tests/dist/lib/libc/stdlib/t_posix_memalign.c
  vendor/NetBSD/tests/dist/lib/libc/stdlib/t_strtod.c
  vendor/NetBSD/tests/dist/lib/libc/stdlib/t_strtol.c
  vendor/NetBSD/tests/dist/lib/libc/string/t_memset.c
  vendor/NetBSD/tests/dist/lib/libc/sync/Makefile
  vendor/NetBSD/tests/dist/lib/libc/sys/Makefile
  vendor/NetBSD/tests/dist/lib/libc/sys/t_connect.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_getrusage.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_kevent.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_mlock.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_mmap.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_mprotect.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_setrlimit.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_sigaction.c
  vendor/NetBSD/tests/dist/lib/libc/sys/t_sigqueue.c
  vendor/NetBSD/tests/dist/lib/libc/time/t_strptime.c
  vendor/NetBSD/tests/dist/lib/libc/tls/Makefile
  vendor/NetBSD/tests/dist/lib/libcurses/director/testlang_parse.y
  vendor/NetBSD/tests/dist/lib/libexecinfo/Makefile
  vendor/NetBSD/tests/dist/lib/libexecinfo/t_backtrace.c
  vendor/NetBSD/tests/dist/lib/libm/Makefile
  vendor/NetBSD/tests/dist/lib/libm/t_exp.c
  vendor/NetBSD/tests/dist/lib/libm/t_fmod.c
  vendor/NetBSD/tests/dist/lib/libm/t_ldexp.c
  vendor/NetBSD/tests/dist/lib/libm/t_log.c
  vendor/NetBSD/tests/dist/lib/libm/t_pow.c
  vendor/NetBSD/tests/dist/lib/libm/t_precision.c
  vendor/NetBSD/tests/dist/lib/libpthread/t_cond.c
  vendor/NetBSD/tests/dist/lib/libpthread/t_mutex.c
  vendor/NetBSD/tests/dist/lib/libpthread/t_rwlock.c
  vendor/NetBSD/tests/dist/lib/libpthread/t_sem.c
  vendor/NetBSD/tests/dist/lib/librumpclient/Makefile
  vendor/NetBSD/tests/dist/lib/librumpclient/t_exec.sh
  vendor/NetBSD/tests/dist/lib/librumpclient/t_fd.c
  vendor/NetBSD/tests/dist/lib/librumphijack/t_tcpip.sh
  vendor/NetBSD/tests/dist/lib/libsljit/Makefile
  vendor/NetBSD/tests/dist/lib/libutil/t_parsedate.c
  vendor/NetBSD/tests/dist/lib/semaphore/Makefile
  vendor/NetBSD/tests/dist/lib/semaphore/pthread/Makefile
  vendor/NetBSD/tests/dist/modules/Makefile
  vendor/NetBSD/tests/dist/modules/Makefile.inc
  vendor/NetBSD/tests/dist/net/Makefile
  vendor/NetBSD/tests/dist/net/Makefile.inc
  vendor/NetBSD/tests/dist/net/bpfilter/t_bpfilter.c
  vendor/NetBSD/tests/dist/net/bpfjit/Makefile
  vendor/NetBSD/tests/dist/net/bpfjit/t_bpfjit.c
  vendor/NetBSD/tests/dist/net/carp/Makefile
  vendor/NetBSD/tests/dist/net/icmp/Makefile
  vendor/NetBSD/tests/dist/net/icmp/t_forward.c
  vendor/NetBSD/tests/dist/net/icmp/t_ping.c
  vendor/NetBSD/tests/dist/net/icmp/t_ping2.sh
  vendor/NetBSD/tests/dist/net/if/Makefile
  vendor/NetBSD/tests/dist/net/if_bridge/t_bridge.sh
  vendor/NetBSD/tests/dist/net/if_loop/Makefile
  vendor/NetBSD/tests/dist/net/mpls/Makefile
  vendor/NetBSD/tests/dist/net/mpls/t_ldp_regen.sh
  vendor/NetBSD/tests/dist/net/mpls/t_mpls_fw.sh
  vendor/NetBSD/tests/dist/net/mpls/t_rfc4182.sh
  vendor/NetBSD/tests/dist/net/net/Makefile
  vendor/NetBSD/tests/dist/net/net/t_tcp.c
  vendor/NetBSD/tests/dist/net/route/Makefile
  vendor/NetBSD/tests/dist/net/route/t_change.sh
  vendor/NetBSD/tests/dist/rump/Makefile.inc
  vendor/NetBSD/tests/dist/rump/modautoload/Makefile
  vendor/NetBSD/tests/dist/rump/modautoload/t_modautoload.c
  vendor/NetBSD/tests/dist/rump/rumpkern/h_server/Makefile
  vendor/NetBSD/tests/dist/rump/rumpkern/h_server/h_simpleserver.c
  vendor/NetBSD/tests/dist/rump/rumpkern/t_lwproc.c
  vendor/NetBSD/tests/dist/rump/rumpkern/t_sp.sh
  vendor/NetBSD/tests/dist/rump/rumpnet/t_shmif.sh
  vendor/NetBSD/tests/dist/rump/rumpvfs/t_p2kifs.c
  vendor/NetBSD/tests/dist/sbin/Makefile
  vendor/NetBSD/tests/dist/sbin/resize_ffs/Makefile
  vendor/NetBSD/tests/dist/sbin/resize_ffs/common.sh
  vendor/NetBSD/tests/dist/sbin/resize_ffs/t_grow.sh
  vendor/NetBSD/tests/dist/sbin/resize_ffs/t_grow_swapped.sh
  vendor/NetBSD/tests/dist/sbin/resize_ffs/t_shrink.sh
  vendor/NetBSD/tests/dist/sbin/resize_ffs/t_shrink_swapped.sh
  vendor/NetBSD/tests/dist/sbin/sysctl/t_perm.sh
  vendor/NetBSD/tests/dist/share/mk/t_lib.sh
  vendor/NetBSD/tests/dist/share/mk/t_prog.sh
  vendor/NetBSD/tests/dist/share/mk/t_test.sh
  vendor/NetBSD/tests/dist/sys/Makefile
  vendor/NetBSD/tests/dist/usr.bin/Makefile
  vendor/NetBSD/tests/dist/usr.bin/cc/t_hello.sh
  vendor/NetBSD/tests/dist/usr.bin/config/Makefile
  vendor/NetBSD/tests/dist/usr.bin/config/support/arch/regress/conf/Makefile.regress
  vendor/NetBSD/tests/dist/usr.bin/config/support/conf/Makefile
  vendor/NetBSD/tests/dist/usr.bin/config/support/conf/files
  vendor/NetBSD/tests/dist/usr.bin/config/t_config.sh
  vendor/NetBSD/tests/dist/usr.bin/make/t_make.sh
  vendor/NetBSD/tests/dist/usr.bin/netpgpverify/t_netpgpverify.sh
  vendor/NetBSD/tests/dist/usr.bin/sed/t_sed.sh
  vendor/NetBSD/tests/dist/usr.bin/sort/d_any_char_dflag_out.txt   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/sort/d_any_char_fflag_out.txt   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/sort/d_any_char_iflag_out.txt   (contents, props changed)
  vendor/NetBSD/tests/dist/usr.bin/xlint/lint1/Makefile
  vendor/NetBSD/tests/dist/usr.sbin/traceroute/t_traceroute.sh

Modified: vendor/NetBSD/tests/dist/Makefile
==============================================================================
--- vendor/NetBSD/tests/dist/Makefile	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/Makefile	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.44 2013/02/25 00:33:19 jmmv Exp $
+# $NetBSD: Makefile,v 1.45 2015/06/22 00:05:23 matt Exp $
 
 .include <bsd.own.mk>
 
@@ -9,7 +9,7 @@ TESTSDIR=	${TESTSBASE}
 TESTS_SUBDIRS=		bin dev games include kernel lib libexec net
 TESTS_SUBDIRS+=		sbin sys usr.bin usr.sbin
 
-. if (${MKRUMP} != "no")
+. if (${MKRUMP} != "no") && !defined(BSD_MK_COMPAT_FILE)
 TESTS_SUBDIRS+=		fs rump
 
 . if ${MKKMOD} != "no"

Modified: vendor/NetBSD/tests/dist/bin/cat/Makefile
==============================================================================
--- vendor/NetBSD/tests/dist/bin/cat/Makefile	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/cat/Makefile	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2012/03/27 08:16:33 jruoho Exp $
+# $NetBSD: Makefile,v 1.2 2016/06/16 01:04:58 sevan Exp $
 
 .include <bsd.own.mk>
 
@@ -8,5 +8,7 @@ TESTS_SH=	t_cat
 FILESDIR=	${TESTSDIR}
 FILES+=		d_align.in
 FILES+=		d_align.out
+FILES+= 	d_se_output.in
+FILES+= 	d_se_output.out
 
 .include <bsd.test.mk>

Modified: vendor/NetBSD/tests/dist/bin/cat/d_align.in
==============================================================================
--- vendor/NetBSD/tests/dist/bin/cat/d_align.in	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/cat/d_align.in	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,3 +1,5 @@
 a b c
+
 1 2 3
+
 x y z

Modified: vendor/NetBSD/tests/dist/bin/cat/d_align.out
==============================================================================
--- vendor/NetBSD/tests/dist/bin/cat/d_align.out	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/cat/d_align.out	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,3 +1,5 @@
      1	a b c$
+      	$
      2	1 2 3$
+      	$
      3	x y z$

Added: vendor/NetBSD/tests/dist/bin/cat/d_se_output.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/NetBSD/tests/dist/bin/cat/d_se_output.in	Fri Aug 12 01:05:07 2016	(r303980)
@@ -0,0 +1,3 @@
+
+Of course it runs NetBSD
+

Added: vendor/NetBSD/tests/dist/bin/cat/d_se_output.out
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/NetBSD/tests/dist/bin/cat/d_se_output.out	Fri Aug 12 01:05:07 2016	(r303980)
@@ -0,0 +1,3 @@
+$
+Of course it runs NetBSD$
+$

Modified: vendor/NetBSD/tests/dist/bin/cat/t_cat.sh
==============================================================================
--- vendor/NetBSD/tests/dist/bin/cat/t_cat.sh	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/cat/t_cat.sh	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,4 +1,4 @@
-# $NetBSD: t_cat.sh,v 1.2 2012/03/27 17:57:02 jruoho Exp $
+# $NetBSD: t_cat.sh,v 1.3 2016/06/16 01:04:58 sevan Exp $
 #
 # Copyright (c) 2012 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -52,8 +52,20 @@ nonexistent_body() {
 		-x "cat /some/name/that/does/not/exist"
 }
 
+atf_test_case se_output
+se_output_head() {
+	atf_set "descr" "Test that cat(1) prints a $ sign " \
+			"on blank lines with options '-se' (PR bin/51250)"
+}
+
+se_output_body() {
+	atf_check -s ignore -o file:$(atf_get_srcdir)/d_se_output.out \
+		-x "cat -se $(atf_get_srcdir)/d_se_output.in"
+}
+
 atf_init_test_cases()
 {
 	atf_add_test_case align
 	atf_add_test_case nonexistent
+	atf_add_test_case se_output
 }

Modified: vendor/NetBSD/tests/dist/bin/sh/Makefile
==============================================================================
--- vendor/NetBSD/tests/dist/bin/sh/Makefile	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/sh/Makefile	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2014/09/11 18:25:30 dholland Exp $
+# $NetBSD: Makefile,v 1.11 2016/03/20 22:57:04 christos Exp $
 #
 
 .include <bsd.own.mk>
@@ -7,15 +7,21 @@ TESTSDIR = ${TESTSBASE}/bin/sh
 
 TESTS_SUBDIRS += dotcmd
 
-TESTS_SH=	t_compexit
+TESTS_SH+=	t_arith
+TESTS_SH+=	t_cmdsub
+TESTS_SH+=	t_evaltested
 TESTS_SH+=	t_exit
 TESTS_SH+=	t_expand
-TESTS_SH+=	t_evaltested
 TESTS_SH+=	t_fsplit
 TESTS_SH+=	t_here
+TESTS_SH+=	t_option
+TESTS_SH+=	t_redir
+TESTS_SH+=	t_redircloexec
 TESTS_SH+=	t_set_e
+TESTS_SH+=	t_shift
 TESTS_SH+=	t_ulimit
 TESTS_SH+=	t_varquote
+TESTS_SH+=	t_varval
 TESTS_SH+=	t_wait
 
 .include <bsd.test.mk>

Modified: vendor/NetBSD/tests/dist/bin/sh/dotcmd/Makefile
==============================================================================
--- vendor/NetBSD/tests/dist/bin/sh/dotcmd/Makefile	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/sh/dotcmd/Makefile	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2014/07/27 14:24:17 apb Exp $
+# $NetBSD: Makefile,v 1.3 2016/03/27 14:57:50 christos Exp $
 #
 
 .include <bsd.own.mk>
@@ -7,6 +7,10 @@ TESTSDIR = ${TESTSBASE}/bin/sh/dotcmd
 
 TESTS_SH = t_dotcmd
 
+.if !defined(TEST_SH)
+TEST_SH = ${HOST_SH}
+.endif
+
 FILESDIR = ${TESTSDIR}/out
 
 # Testing scripts: dotcmd in various scopes includes a file with
@@ -19,7 +23,7 @@ FILESDIR_${cmd}_${cmd_scope} = ${TESTSDI
 FILESBUILD_${cmd}_${cmd_scope} = yes
 
 ${cmd}_${cmd_scope}: scoped_command
-	${HOST_SH} ${.CURDIR}/scoped_command '${cmd_scope}' '${cmd}' '${cmd}' \
+	${TEST_SH} ${.CURDIR}/scoped_command '${cmd_scope}' '${cmd}' '${cmd}' \
 		>'${.TARGET}'
 
 .  for dot_scope in case compound file for func subshell until while
@@ -31,7 +35,7 @@ FILESBUILD_${dot_scope}_${cmd}_${cmd_sco
 FILESMODE_${dot_scope}_${cmd}_${cmd_scope} = ${BINMODE}
 
 ${dot_scope}_${cmd}_${cmd_scope}: scoped_command
-	${HOST_SH} ${.CURDIR}/scoped_command '${dot_scope}' \
+	${TEST_SH} ${.CURDIR}/scoped_command '${dot_scope}' \
 		'. "${cmd}_${cmd_scope}"' 'dotcmd' 'dotcmd' >'${.TARGET}'
 .  endfor
 . endfor

Modified: vendor/NetBSD/tests/dist/bin/sh/dotcmd/scoped_command
==============================================================================
--- vendor/NetBSD/tests/dist/bin/sh/dotcmd/scoped_command	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/sh/dotcmd/scoped_command	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $NetBSD: scoped_command,v 1.1 2014/05/31 14:29:06 christos Exp $
+# $NetBSD: scoped_command,v 1.2 2016/03/27 14:57:50 christos Exp $
 #
 # Copyright (c) 2014 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -30,6 +30,27 @@
 # POSSIBILITY OF SUCH DAMAGE.
 #
 
+: ${TEST_SH:=/bin/sh}
+
+sane_sh()
+{
+	set -- ${TEST_SH}
+	case "$#" in
+	(0)   set /bin/sh;;
+	(1|2) ;;
+	(*)   set "$1";;   # Just ignore options if we cannot make them work
+	esac
+
+	case "$1" in
+	/*)	TEST_SH="$1${2+ }$2";;
+	./*)	TEST_SH="${PWD}${1#.}${2+ }$2";;
+	*/*)	TEST_SH="${PWD}/$1${2+ }$2";;
+	*)	TEST_SH="$( command -v "$1" )${2+ }$2";;
+	esac
+}
+
+sane_sh
+
 set -e
 
 # USAGE:
@@ -52,7 +73,7 @@ cmd="echo 'before ${3}'
 ${2}
 echo 'after ${3}, return value:' ${?}"
 
-echo "#!/bin/sh"
+echo "#!${TEST_SH}"
 
 [ 'func' = "${1}" ] && cat <<EOF
 func()

Modified: vendor/NetBSD/tests/dist/bin/sh/dotcmd/t_dotcmd.sh
==============================================================================
--- vendor/NetBSD/tests/dist/bin/sh/dotcmd/t_dotcmd.sh	Fri Aug 12 00:00:08 2016	(r303979)
+++ vendor/NetBSD/tests/dist/bin/sh/dotcmd/t_dotcmd.sh	Fri Aug 12 01:05:07 2016	(r303980)
@@ -1,4 +1,4 @@
-# $NetBSD: t_dotcmd.sh,v 1.1 2014/05/31 14:29:06 christos Exp $
+# $NetBSD: t_dotcmd.sh,v 1.2 2016/03/27 14:57:50 christos Exp $
 #
 # Copyright (c) 2014 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -33,6 +33,10 @@
 # in C/C++ so, for example, if the dotcmd is in a loop's body, a break in
 # the sourced file can be used to break out of that loop.
 
+# Note that the standard does not require this, and allows lexically
+# scoped interpretation of break/continue (and permits dynamic scope
+# as an optional extension.)
+
 cmds='return break continue'
 scopes='case compound file for func subshell until while'
 

Added: vendor/NetBSD/tests/dist/bin/sh/t_arith.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/NetBSD/tests/dist/bin/sh/t_arith.sh	Fri Aug 12 01:05:07 2016	(r303980)
@@ -0,0 +1,1035 @@
+# $NetBSD: t_arith.sh,v 1.5 2016/05/12 14:25:11 kre Exp $
+#
+# Copyright (c) 2016 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.
+#
+# the implementation of "sh" to test
+: ${TEST_SH:="/bin/sh"}
+
+# Requirement is to support at least "signed long" whatever that means
+# (number of bits in "long" is not specified - but should be at least 32).
+
+# These tests use -o inline:"..." rather than -o match:'...' as we have
+# only digits to examine, and it is good to be sure that 1 + 1 really gives 2
+# and that 42 or 123 don't look like success because there is a 2 in them.
+
+ARITH_BITS='?'
+discover_range()
+{
+	# cannot use arithmetic "test" operators, range of test in
+	# ATF_SHELL (or even TEST_SH) might not be as big as that
+	# supported by $(( )) in TEST_SH
+
+	if ! ${TEST_SH} -c ': $(( 0x10000 ))' 2>/dev/null
+	then
+		# 16 bits or less, or hex unsupported, just give up...
+		return
+	fi
+	test $( ${TEST_SH} -c 'echo $(( 0x1FFFF ))' ) = 131071 || return
+
+	# when attempting to exceed the number of available bits
+	# the shell may react in any of 3 (rational) ways
+	# 1. syntax error (maybe even core dump...) and fail
+	# 2. represent a positive number input as negative value
+	# 3. keep the number positive, but not the value expected
+	#    (perhaps pegged at the max possible value)
+	# any of those may be accompanied by a message to stderr
+
+	# Must check all 3 possibilities for each plausible size
+	# Tests do not use 0x8000... because that value can have weird
+	# other side effects that are not relevant to discover here.
+	# But we do want to try and force the sign bit set.
+
+	if ! ${TEST_SH} -c ': $(( 0xC0000000 ))' 2>/dev/null
+	then
+		# proobably shell detected overflow and complained
+		ARITH_BITS=32
+		return
+	fi
+	if ${TEST_SH} 2>/dev/null \
+	    -c 'case $(( 0xC0000000 )); in (-*) exit 0;; esac; exit 1'
+	then
+		ARITH_BITS=32
+		return
+	fi
+	if ${TEST_SH} -c '[ $(( 0xC0000000 )) != 3221225472 ]' 2>/dev/null
+	then
+		ARITH_BITS=32
+		return
+	fi
+
+	if ! ${TEST_SH} -c ': $(( 0xC000000000000000 ))' 2>/dev/null
+	then
+		ARITH_BITS=64
+		return
+	fi
+	if ${TEST_SH} 2>/dev/null \
+	    -c 'case $(( 0xC000000000000000 )); in (-*) exit 0;; esac; exit 1'
+	then
+		ARITH_BITS=64
+		return
+	fi
+	if ${TEST_SH} 2>/dev/null \
+	    -c '[ $((0xC000000000000000)) != 13835058055282163712 ]'
+	then
+		ARITH_BITS=64
+		return
+	fi
+
+	if ${TEST_SH} 2>/dev/null -c \
+	   '[ $((0x123456781234567812345678)) = 5634002657842756053938493048 ]'
+	then
+		# just assume... (for now anyway, revisit when it happens...)
+		ARITH_BITS=96
+		return
+	fi
+}
+
+atf_test_case constants
+constants_head()
+{
+        atf_set "descr" "Tests that arithmetic expansion can handle constants"
+}
+constants_body()
+{
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $((0x0))'
+
+	# atf_expect_fail "PR bin/50959"
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $((0X0))'
+	# atf_expect_pass
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $((000))'
+
+	atf_check -s exit:0 -o inline:'1\n' -e empty \
+		${TEST_SH} -c 'echo $(( 000000001 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty \
+		${TEST_SH} -c 'echo $(( 0x000000 ))'
+
+	atf_check -s exit:0 -o inline:'99999\n' -e empty \
+		${TEST_SH} -c 'echo $((99999))'
+
+	[ ${ARITH_BITS} -gt 44 ] &&
+		atf_check -s exit:0 -o inline:'9191919191919\n' -e empty \
+			${TEST_SH} -c 'echo $((9191919191919))'
+
+	atf_check -s exit:0 -o inline:'13\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xD ))'
+	atf_check -s exit:0 -o inline:'11\n' -e empty ${TEST_SH} -c \
+		'echo $(( 013 ))'
+	atf_check -s exit:0 -o inline:'7\n' -e empty ${TEST_SH} -c \
+		'x=7;echo $(($x))'
+	atf_check -s exit:0 -o inline:'9\n' -e empty ${TEST_SH} -c \
+		'x=9;echo $((x))'
+
+	atf_check -s exit:0 -o inline:'11\n' -e empty \
+		${TEST_SH} -c 'x=0xB; echo $(( $x ))'
+	atf_check -s exit:0 -o inline:'27\n' -e empty \
+		${TEST_SH} -c 'x=0X1B; echo $(( x ))'
+	atf_check -s exit:0 -o inline:'27\n' -e empty \
+		${TEST_SH} -c 'X=033; echo $(( $X ))'
+	atf_check -s exit:0 -o inline:'219\n' -e empty \
+		${TEST_SH} -c 'X=0333; echo $(( X ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty \
+		${TEST_SH} -c 'NULL=; echo $(( NULL ))'
+
+	# Not clear if this is 0, nothing, or an error, so omit for now
+	# atf_check -s exit:0 -o inline:'0\n' -e empty \
+	# 	${TEST_SH} -c 'echo $(( ))'
+
+	# not clear whether this should return 0 or an error, so omit for now
+	# atf_check -s exit:0 -o inline:'0\n' -e empty \
+	# 	${TEST_SH} -c 'echo $(( UNDEFINED_VAR ))'
+}
+
+
+atf_test_case do_unary_plus
+do_unary_plus_head()
+{
+        atf_set "descr" "Tests that unary plus works as expected"
+}
+do_unary_plus_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( +0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( +1 ))'
+	atf_check -s exit:0 -o inline:'6\n' -e empty ${TEST_SH} -c \
+		'echo $(( + 6 ))'
+	atf_check -s exit:0 -o inline:'4321\n' -e empty ${TEST_SH} -c \
+		'echo $(( + 4321 ))'
+	atf_check -s exit:0 -o inline:'17185\n' -e empty ${TEST_SH} -c \
+		'echo $(( + 0x4321 ))'
+}
+
+atf_test_case do_unary_minus
+do_unary_minus_head()
+{
+        atf_set "descr" "Tests that unary minus works as expected"
+}
+do_unary_minus_body()
+{
+	atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \
+		'echo $(( -1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( - 0 ))'
+	atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \
+		'echo $(( - 1 ))'
+	atf_check -s exit:0 -o inline:'-6\n' -e empty ${TEST_SH} -c \
+		'echo $(( - 6 ))'
+	atf_check -s exit:0 -o inline:'-4321\n' -e empty ${TEST_SH} -c \
+		'echo $(( - 4321 ))'
+	atf_check -s exit:0 -o inline:'-2257\n' -e empty ${TEST_SH} -c \
+		'echo $(( - 04321 ))'
+	atf_check -s exit:0 -o inline:'-7\n' -e empty ${TEST_SH} -c \
+		'echo $((-7))'
+}
+
+atf_test_case do_unary_not
+do_unary_not_head()
+{
+        atf_set "descr" "Tests that unary not (boolean) works as expected"
+}
+do_unary_not_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( ! 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( ! 0 ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( !1234 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( !0xFFFF ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( ! 000000 ))'
+}
+
+atf_test_case do_unary_tilde
+do_unary_tilde_head()
+{
+        atf_set "descr" "Tests that unary not (bitwise) works as expected"
+}
+do_unary_tilde_body()
+{
+	# definitely 2's complement arithmetic here...
+
+	atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \
+		'echo $(( ~ 0 ))'
+	atf_check -s exit:0 -o inline:'-2\n' -e empty ${TEST_SH} -c \
+		'echo $(( ~ 1 ))'
+
+	atf_check -s exit:0 -o inline:'-1235\n' -e empty ${TEST_SH} -c \
+		'echo $(( ~1234 ))'
+	atf_check -s exit:0 -o inline:'-256\n' -e empty ${TEST_SH} -c \
+		'echo $(( ~0xFF ))'
+}
+
+atf_test_case elementary_add
+elementary_add_head()
+{
+        atf_set "descr" "Tests that simple addition works as expected"
+}
+elementary_add_body()
+{
+	# some of these tests actually test unary ops &  op precedence...
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 + 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 + 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 + 1 ))'
+	atf_check -s exit:0 -o inline:'2\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 + 1 ))'
+	atf_check -s exit:0 -o inline:'10\n' -e empty ${TEST_SH} -c \
+		'echo $(( 4 + 6 ))'
+	atf_check -s exit:0 -o inline:'10\n' -e empty ${TEST_SH} -c \
+		'echo $(( 6 + 4 ))'
+	atf_check -s exit:0 -o inline:'5555\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1234 + 4321 ))'
+	atf_check -s exit:0 -o inline:'3333\n' -e empty ${TEST_SH} -c \
+		'echo $((1111+2222))'
+	atf_check -s exit:0 -o inline:'5555\n' -e empty ${TEST_SH} -c \
+		'echo $((+3333+2222))'
+	atf_check -s exit:0 -o inline:'7777\n' -e empty ${TEST_SH} -c \
+		'echo $((+3333 + +4444))'
+	atf_check -s exit:0 -o inline:'-7777\n' -e empty ${TEST_SH} -c \
+		'echo -$((+4125+ +3652))'
+}
+
+atf_test_case elementary_sub
+elementary_sub_head()
+{
+        atf_set "descr" "Tests that simple subtraction works as expected"
+}
+elementary_sub_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 - 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 - 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 - 1 ))'
+	atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 - 1 ))'
+	atf_check -s exit:0 -o inline:'488\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1066 - 578 ))'
+	atf_check -s exit:0 -o inline:'-3662\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2016-5678 ))'
+	atf_check -s exit:0 -o inline:'-3662\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2016+-5678 ))'
+	atf_check -s exit:0 -o inline:'-3662\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2016-+5678 ))'
+	atf_check -s exit:0 -o inline:'-7694\n' -e empty ${TEST_SH} -c \
+		'echo $(( -2016-5678 ))'
+	atf_check -s exit:0 -o inline:'--1\n' -e empty ${TEST_SH} -c \
+		'echo -$(( -1018 - -1017 ))'
+}
+
+atf_test_case elementary_mul
+elementary_mul_head()
+{
+        atf_set "descr" "Tests that simple multiplication works as expected"
+}
+elementary_mul_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 * 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 * 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 * 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 * 1 ))'
+	atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \
+		'echo $(( -1 * 1 ))'
+	atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 * -1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( -1 * -1 ))'
+	atf_check -s exit:0 -o inline:'391\n' -e empty ${TEST_SH} -c \
+		'echo $(( 17 * 23 ))'
+	atf_check -s exit:0 -o inline:'169\n' -e empty ${TEST_SH} -c \
+		'echo $(( 13*13 ))'
+	atf_check -s exit:0 -o inline:'-11264\n' -e empty ${TEST_SH} -c \
+		'echo $(( -11 *1024 ))'
+	atf_check -s exit:0 -o inline:'-16983\n' -e empty ${TEST_SH} -c \
+		'echo $(( 17* -999 ))'
+	atf_check -s exit:0 -o inline:'9309\n' -e empty ${TEST_SH} -c \
+		'echo $(( -29*-321 ))'
+}
+
+atf_test_case elementary_div
+elementary_div_head()
+{
+        atf_set "descr" "Tests that simple division works as expected"
+}
+elementary_div_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 / 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 / 1 ))'
+	test ${ARITH_BITS} -ge 38 &&
+	    atf_check -s exit:0 -o inline:'99999999999\n' -e empty \
+		${TEST_SH} -c 'echo $(( 99999999999 / 1 ))'
+	atf_check -s exit:0 -o inline:'2\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2 / 1 ))'
+
+	atf_check -s exit:0 -o inline:'3\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3 / 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3 / 2 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3 / 3 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3 / 4 ))'
+
+	atf_check -s exit:0 -o inline:'173\n' -e empty ${TEST_SH} -c \
+		'echo $(( 123456 / 713 ))'
+	atf_check -s exit:0 -o inline:'13\n' -e empty ${TEST_SH} -c \
+		'echo $(( 169 / 13 ))'
+}
+
+atf_test_case elementary_rem
+elementary_rem_head()
+{
+        atf_set "descr" "Tests that simple modulus works as expected"
+}
+elementary_rem_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 % 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 % 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2 % 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 9999 % 1 ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 % 2 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 % 2 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2 % 2 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xFFFF % 2 ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 % 3 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 % 3 ))'
+	atf_check -s exit:0 -o inline:'2\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2 % 3 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3 % 3 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3123 % 3 ))'
+
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 9999 % 2 ))'
+
+	atf_check -s exit:0 -o inline:'107\n' -e empty ${TEST_SH} -c \
+		'echo $(( 123456%173 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $((169%13))'
+}
+
+atf_test_case elementary_shl
+elementary_shl_head()
+{
+        atf_set "descr" "Tests that simple shift left works as expected"
+}
+elementary_shl_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 << 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 << 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 << 17 ))'
+
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 << 0 ))'
+	atf_check -s exit:0 -o inline:'2\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 << 1 ))'
+	atf_check -s exit:0 -o inline:'131072\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 << 17 ))'
+
+	atf_check -s exit:0 -o inline:'2021161080\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x3C3C3C3C << 1 ))'
+
+	test "${ARITH_BITS}" -ge 40 &&
+	    atf_check -s exit:0 -o inline:'129354309120\n' -e empty \
+		${TEST_SH} -c 'echo $(( 0x3C3C3C3C << 7 ))'
+	test "${ARITH_BITS}" -ge 72 &&
+	    atf_check -s exit:0 -o inline:'1111145054534149079040\n' \
+		-e empty ${TEST_SH} -c 'echo $(( 0x3C3C3C3C << 40 ))'
+
+	return 0
+}
+
+atf_test_case elementary_shr
+elementary_shr_head()
+{
+        atf_set "descr" "Tests that simple shift right works as expected"
+}
+elementary_shr_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 >> 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 >> 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 >> 17 ))'
+
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 >> 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 >> 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2 >> 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3 >> 1 ))'
+
+	atf_check -s exit:0 -o inline:'4\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x10 >> 2 ))'
+	atf_check -s exit:0 -o inline:'4\n' -e empty ${TEST_SH} -c \
+		'echo $(( 022 >> 2 ))'
+
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 131072 >> 17 ))'
+
+	test ${ARITH_BITS} -ge 40 &&
+		atf_check -s exit:0 -o inline:'8\n' -e empty ${TEST_SH} -c \
+			'echo $(( 0x4000000000 >> 35 ))'
+	test ${ARITH_BITS} -ge 80 &&
+		atf_check -s exit:0 -o inline:'4464\n' -e empty ${TEST_SH} -c \
+			'echo $(( 0x93400FACE005C871000 >> 64 ))'
+
+	return 0
+}
+
+atf_test_case elementary_eq
+elementary_eq_head()
+{
+        atf_set "descr" "Tests that simple equality test works as expected"
+}
+elementary_eq_body()
+{
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 == 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 == 0000 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 == 0x00 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 == 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'X=30; Y=0x1E; echo $(( X == Y ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x1234 == 4660 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x1234 == 011064 ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 == 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 == 0000000000000001 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 == 0x10000000000000 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 == 2 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'X=3; Y=7; echo $(( X == Y ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1234 == 0x4660 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 01234 == 0x11064 ))'
+}
+atf_test_case elementary_ne
+elementary_ne_head()
+{
+        atf_set "descr" "Tests that simple inequality test works as expected"
+}
+elementary_ne_body()
+{
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 != 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x71 != 17 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1234 != 01234 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x1234 != 01234 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'X=3; echo $(( X != 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'X=3; Y=0x11; echo $(( X != Y ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 3 != 3 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 != 0x0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xA != 012 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'X=1; echo $(( X != 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'X=0xC; Y=014; echo $(( X != Y ))'
+}
+atf_test_case elementary_lt
+elementary_lt_head()
+{
+        atf_set "descr" "Tests that simple less than test works as expected"
+}
+elementary_lt_body()
+{
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 < 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( -1 < 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 < 10 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 100 < 101 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xA1 < 200 ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 < 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 < 0 ))'
+
+	test ${ARITH_BITS} -ge 40 &&
+	    atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x1BEEFF00D < 0x1FACECAFE ))'
+
+	return 0
+}
+atf_test_case elementary_le
+elementary_le_head()
+{
+        atf_set "descr" "Tests that simple less or equal test works as expected"
+}
+elementary_le_body()
+{
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 <= 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( -1 <= 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 <= 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 <= 10 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 100 <= 101 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xA1 <= 161 ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 <= 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( -100 <= -200 ))'
+
+	test ${ARITH_BITS} -ge 40 &&
+	    atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'cost=; AUD=; echo $(( $cost 0x2FEEDBABE <= $AUD 12866927294 ))'
+
+	return 0
+}
+atf_test_case elementary_gt
+elementary_gt_head()
+{
+        atf_set "descr" "Tests that simple greater than works as expected"
+}
+elementary_gt_body()
+{
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 > 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 > -1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 11 > 012 ))'
+
+	# atf_expect_fail "PR bin/50959"
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2147483647 > 0X7FFFFF0 ))'
+	# atf_expect_pass
+
+	test ${ARITH_BITS} -gt 32 &&
+	    atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x80000000 > 0x7FFFFFFF ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 > 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 > 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( -1 > 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 > 10 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 2015 > 2016 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xA1 > 200 ))'
+
+	test ${ARITH_BITS} -ge 44 &&
+	    atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x7F07F07F0 > 34099628014 ))'
+
+	return 0
+}
+atf_test_case elementary_ge
+elementary_ge_head()
+{
+        atf_set "descr" "Tests that simple greater or equal works as expected"
+}
+elementary_ge_body()
+{
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 >= 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 >= 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( -100 >= -101 ))'
+
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( -1 >= 0 ))'
+}
+
+atf_test_case fiddle_bits_and
+fiddle_bits_and_head()
+{
+	atf_set "descr" "Test bitwise and operations in arithmetic expressions"
+}
+fiddle_bits_and_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 & 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 & 0 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 & 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 & 1 ))'
+
+	atf_check -s exit:0 -o inline:'255\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xFF & 0xFF ))'
+	atf_check -s exit:0 -o inline:'255\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xFFFF & 0377 ))'
+
+	test "${ARITH_BITS}" -ge 48 &&
+	    atf_check -s exit:0 -o inline:'70377641607203\n' -e empty \
+		${TEST_SH} -c 'echo $(( 0x5432FEDC0123 & 0x42871357BAB3 ))'
+
+	return 0
+}
+atf_test_case fiddle_bits_or
+fiddle_bits_or_head()
+{
+	atf_set "descr" "Test bitwise or operations in arithmetic expressions"
+}
+fiddle_bits_or_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 | 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 | 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 | 1 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 | 1 ))'
+
+	atf_check -s exit:0 -o inline:'4369\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0x1111 | 0x1111 ))'
+	atf_check -s exit:0 -o inline:'255\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xAA | 0125 ))'
+
+	test "${ARITH_BITS}" -ge 48 &&
+	    atf_check -s exit:0 -o inline:'95348271856563\n' -e empty \
+		${TEST_SH} -c 'echo $(( 0x5432FEDC0123 | 0x42871357BAB3 ))'
+
+	return 0
+}
+atf_test_case fiddle_bits_xor
+fiddle_bits_xor_head()
+{
+	atf_set "descr" "Test bitwise xor operations in arithmetic expressions"
+}
+fiddle_bits_xor_body()
+{
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 ^ 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 ^ 0 ))'
+	atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0 ^ 1 ))'
+	atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \
+		'echo $(( 1 ^ 1 ))'
+
+	atf_check -s exit:0 -o inline:'255\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xF0 ^ 0x0F ))'
+	atf_check -s exit:0 -o inline:'15\n' -e empty ${TEST_SH} -c \
+		'echo $(( 0xF0 ^ 0xFF ))'
+
+	test "${ARITH_BITS}" -ge 48 &&
+	    atf_check -s exit:0 -o inline:'24970630249360\n' -e empty \
+		${TEST_SH} -c 'echo $(( 0x5432FEDC0123 ^ 0x42871357BAB3 ))'
+
+	return 0
+}
+
+atf_test_case logical_and

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



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