From owner-freebsd-testing@freebsd.org Mon Sep 5 02:24:13 2016 Return-Path: Delivered-To: freebsd-testing@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C1645A9DC88; Mon, 5 Sep 2016 02:24:13 +0000 (UTC) (envelope-from crodr001@gmail.com) Received: from mail-ua0-x22a.google.com (mail-ua0-x22a.google.com [IPv6:2607:f8b0:400c:c08::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BBA9FEC; Mon, 5 Sep 2016 02:24:13 +0000 (UTC) (envelope-from crodr001@gmail.com) Received: by mail-ua0-x22a.google.com with SMTP id 49so32795501uat.3; Sun, 04 Sep 2016 19:24:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=l79rZDSBF3NCVCkx6Yj56W/sfHrTEnwCVwbn2G4Z2RA=; b=Smtq33aMVWN9bcMhebh5yZ9MAwzVFIhOEG2z0O9ScDMrrV8OvCbhPiejT41SppCzyR DJGpp9WcIUfXO01wGQifBAVyMJ4TwInhsyuvlYjv6HqtCBYtJhiR5dlXLTZ7+7RSSrzA mxnrDksb1KZtwpHtU71dTmJFe2fJngsH7Htc9YCiTTdxNbvTqf5o51rypsx5qQe1WRJ+ zU2lBN39SgURvuSYRoED9ti7yJd0k8S3aKSfLR7IDTRackM6TSHjjD+tD7CnILmAmhiE CTZK/cnuQSjm910U7r8ERlMjzCfIU0OTH1X+yA8Owcpy7p+4oOjYDY4/V3ORJJOkPjii aSIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=l79rZDSBF3NCVCkx6Yj56W/sfHrTEnwCVwbn2G4Z2RA=; b=AT5X2Y4zLPK0hhX+586jaMQE6rISFPin1KKSOYtdkacAaH9VjMqURR7MUGXvlGrF2n PJgrcZu45KrTcaHwsz9UD1mKM0l5Z7PsRgXzJaq8NAHiiM3k8WnNA814jNLYLopJ0PMj nkVsN3xUSlZ2diRGG+h93rcsbCkjlcWZETVwUc8rkWAv4JFMZifgySc+blAjLBYhRV63 X2ewZTFw/i/BQFLO9QVeUnhEkVV5+HwKt8LhwxYgdRQIl3BG1k9hLITATrzte0qzTpy5 55/nvOjfrQCU6DWO6UAOQV7VxBmUUh6DHkaLmdNztnjIpICu15Vy3vj+LAWIA1LzCe1P 9xuw== X-Gm-Message-State: AE9vXwNI6QF9oVQMC/4ihHFYSsVTzjzceeytAHil4RTxDxqQaQFmIhtqiKzwqe8ojmjmzpnfurim0ojvZ5xEyA== X-Received: by 10.176.64.161 with SMTP id i30mr16842105uad.107.1473042251708; Sun, 04 Sep 2016 19:24:11 -0700 (PDT) MIME-Version: 1.0 Sender: crodr001@gmail.com Received: by 10.103.31.134 with HTTP; Sun, 4 Sep 2016 19:24:10 -0700 (PDT) In-Reply-To: <201609031811.u83IBnmt080798@repo.freebsd.org> References: <201609031811.u83IBnmt080798@repo.freebsd.org> From: Craig Rodrigues Date: Sun, 4 Sep 2016 19:24:10 -0700 X-Google-Sender-Auth: 8EC2OTC0LsnZrQo6duNW5G8PZas Message-ID: Subject: Re: svn commit: r305358 - in head: bin/cat/tests contrib/netbsd-tests contrib/netbsd-tests/bin/cat contrib/netbsd-tests/bin/sh contrib/netbsd-tests/bin/sh/dotcmd contrib/netbsd-tests/crypto/opencrypto ... To: Ngie Cooper Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" , "freebsd-testing@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-testing@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Testing on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Sep 2016 02:24:13 -0000 Hi, The tests in libc are broken after this commit. lib/libc/test/db/Makefile defines "PROGS = h_lfsr" but the test is trying to execute a binary "h_db" which no longer exists. Can you fix this? Thanks. -- Craig On Sat, Sep 3, 2016 at 11:11 AM, Ngie Cooper wrote: > Author: ngie > Date: Sat Sep 3 18:11:48 2016 > New Revision: 305358 > URL: https://svnweb.freebsd.org/changeset/base/305358 > > Log: > Update contrib/netbsd-tests with new content from NetBSD > > This updates the snapshot from 09/30/2014 to 08/11/2016 > > This brings in a number of new testcases from upstream, most > notably: > > - bin/cat > - lib/libc > - lib/msun > - lib/libthr > - usr.bin/sort > > lib/libc/tests/stdio/open_memstream_test.c was moved to > lib/libc/tests/stdio/open_memstream2_test.c to accomodate > the new open_memstream test from NetBSD. > > MFC after: 2 months > Tested on: amd64 (VMware fusion VM; various bare metal platforms); > i386 (VMware fusion VM); make tinderbox > Sponsored by: EMC / Isilon Storage Division > > Added: > head/contrib/netbsd-tests/bin/cat/d_se_output.in > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/cat/d_se_output.in > head/contrib/netbsd-tests/bin/cat/d_se_output.out > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/cat/d_se_output.out > head/contrib/netbsd-tests/bin/sh/t_arith.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_arith.sh > head/contrib/netbsd-tests/bin/sh/t_cmdsub.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_cmdsub.sh > head/contrib/netbsd-tests/bin/sh/t_option.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_option.sh > head/contrib/netbsd-tests/bin/sh/t_redir.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_redir.sh > head/contrib/netbsd-tests/bin/sh/t_redircloexec.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_redircloexec.sh > head/contrib/netbsd-tests/bin/sh/t_shift.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_shift.sh > head/contrib/netbsd-tests/bin/sh/t_varval.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_varval.sh > head/contrib/netbsd-tests/dev/fss/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/dev/fss/ > head/contrib/netbsd-tests/dev/usb/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/dev/usb/ > head/contrib/netbsd-tests/include/sys/t_pslist.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/include/sys/t_pslist.c > head/contrib/netbsd-tests/kernel/kqueue/t_vnode.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/kernel/kqueue/t_vnode.c > head/contrib/netbsd-tests/lib/libc/db/h_lfsr.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/db/h_lfsr.c > head/contrib/netbsd-tests/lib/libc/db/t_db_hash_seq.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/db/t_db_hash_seq.c > head/contrib/netbsd-tests/lib/libc/inet/t_inet_addr.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/inet/t_inet_addr.c > head/contrib/netbsd-tests/lib/libc/stdio/t_open_memstream.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/stdio/t_open_memstream.c > head/contrib/netbsd-tests/lib/libc/stdlib/t_strtoi.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/stdlib/t_strtoi.c > head/contrib/netbsd-tests/lib/libc/sync/cpp_atomic_ops_linkable.cc > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/sync/cpp_atomic_ops_linkable.cc > head/contrib/netbsd-tests/lib/libc/sys/t_bind.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/sys/t_bind.c > head/contrib/netbsd-tests/lib/libc/sys/t_getsockname.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/sys/t_getsockname.c > head/contrib/netbsd-tests/lib/libc/sys/t_posix_fallocate.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/sys/t_posix_fallocate.c > head/contrib/netbsd-tests/lib/libc/sys/t_wait.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libc/sys/t_wait.c > head/contrib/netbsd-tests/lib/libm/t_fenv.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libm/t_fenv.c > head/contrib/netbsd-tests/lib/libm/t_hypot.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libm/t_hypot.c > head/contrib/netbsd-tests/lib/libusbhid/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/lib/libusbhid/ > head/contrib/netbsd-tests/net/arp/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/arp/ > head/contrib/netbsd-tests/net/icmp/t_icmp6_redirect.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/icmp/t_icmp6_redirect.sh > head/contrib/netbsd-tests/net/icmp/t_icmp_redirect.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/icmp/t_icmp_redirect.sh > head/contrib/netbsd-tests/net/if/ifconf.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/if/ifconf.c > head/contrib/netbsd-tests/net/if/t_ifconf.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/if/t_ifconf.sh > head/contrib/netbsd-tests/net/if/t_ifconfig.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/if/t_ifconfig.sh > head/contrib/netbsd-tests/net/if_gif/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/if_gif/ > head/contrib/netbsd-tests/net/if_pppoe/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/if_pppoe/ > head/contrib/netbsd-tests/net/if_tap/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/if_tap/ > head/contrib/netbsd-tests/net/in_cksum/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/in_cksum/ > head/contrib/netbsd-tests/net/mcast/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/mcast/ > head/contrib/netbsd-tests/net/mpls/t_mpls_fw6.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/mpls/t_mpls_fw6.sh > head/contrib/netbsd-tests/net/mpls/t_mpls_fw64.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/mpls/t_mpls_fw64.sh > head/contrib/netbsd-tests/net/ndp/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/ndp/ > head/contrib/netbsd-tests/net/net/t_forwarding.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/net/t_forwarding.sh > head/contrib/netbsd-tests/net/net/t_ipaddress.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/net/t_ipaddress.sh > head/contrib/netbsd-tests/net/net/t_ipv6_lifetime.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/net/t_ipv6_lifetime.sh > head/contrib/netbsd-tests/net/net/t_ipv6address.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/net/t_ipv6address.sh > head/contrib/netbsd-tests/net/route/t_flags.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/route/t_flags.sh > head/contrib/netbsd-tests/net/route/t_flags6.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/route/t_flags6.sh > head/contrib/netbsd-tests/net/route/t_route.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/net/route/t_route.sh > head/contrib/netbsd-tests/sbin/gpt/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/sbin/gpt/ > head/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh > head/contrib/netbsd-tests/sys/net/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/sys/net/ > head/contrib/netbsd-tests/sys/netatalk/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/sys/netatalk/ > head/contrib/netbsd-tests/sys/netinet/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/sys/netinet/ > head/contrib/netbsd-tests/sys/netinet6/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/sys/netinet6/ > head/contrib/netbsd-tests/usr.bin/config/d_min > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/config/d_min > head/contrib/netbsd-tests/usr.bin/gdb/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/gdb/ > head/contrib/netbsd-tests/usr.bin/ld/ > - copied from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/ld/ > head/contrib/netbsd-tests/usr.bin/netpgpverify/Testspec > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/netpgpverify/Testspec > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_struct.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_struct.c > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_ > compound_literal_comma.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_compound_literal_comma.c > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_flex_array_packed.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_flex_array_packed.c > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_nested_struct.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_nested_struct.c > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_init4.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_init4.c > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_cast_fun_array_param.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_cast_fun_array_param.c > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_type_question_colon.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_type_question_colon.c > head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_typefun.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/usr.bin/xlint/lint1/d_typefun.c > head/lib/libc/tests/stdio/open_memstream2_test.c > - copied unchanged from r305318, projects/netbsd-tests-update- > 12/lib/libc/tests/stdio/open_memstream2_test.c > Deleted: > head/contrib/netbsd-tests/bin/sh/t_compexit.sh > head/contrib/netbsd-tests/fs/nfs/nfsservice/mountd.c > head/contrib/netbsd-tests/fs/nfs/nfsservice/nfsd.c > head/lib/libc/tests/stdio/open_memstream_test.c > Modified: > head/bin/cat/tests/Makefile > head/contrib/netbsd-tests/bin/cat/d_align.in > head/contrib/netbsd-tests/bin/cat/d_align.out > head/contrib/netbsd-tests/bin/cat/t_cat.sh > head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command > head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh > head/contrib/netbsd-tests/bin/sh/t_evaltested.sh > head/contrib/netbsd-tests/bin/sh/t_exit.sh > head/contrib/netbsd-tests/bin/sh/t_expand.sh > head/contrib/netbsd-tests/bin/sh/t_fsplit.sh > head/contrib/netbsd-tests/bin/sh/t_here.sh > head/contrib/netbsd-tests/bin/sh/t_set_e.sh > head/contrib/netbsd-tests/bin/sh/t_ulimit.sh > head/contrib/netbsd-tests/bin/sh/t_varquote.sh > head/contrib/netbsd-tests/bin/sh/t_wait.sh > head/contrib/netbsd-tests/crypto/opencrypto/t_opencrypto.sh > head/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue > head/contrib/netbsd-tests/dev/dm/h_dm.c > head/contrib/netbsd-tests/dev/sysmon/t_swsensor.sh > head/contrib/netbsd-tests/dev/sysmon/t_swwdog.c > head/contrib/netbsd-tests/fs/common/fstest_lfs.c > head/contrib/netbsd-tests/fs/common/h_fsmacros.h > head/contrib/netbsd-tests/fs/nfs/nfsservice/rumpnfsd.c > head/contrib/netbsd-tests/fs/nfs/t_rquotad.sh > head/contrib/netbsd-tests/fs/tmpfs/t_vnd.sh > head/contrib/netbsd-tests/fs/vfs/t_io.c > head/contrib/netbsd-tests/fs/vfs/t_renamerace.c > head/contrib/netbsd-tests/fs/vfs/t_unpriv.c > head/contrib/netbsd-tests/fs/vfs/t_vnops.c > head/contrib/netbsd-tests/games/t_factor.sh > head/contrib/netbsd-tests/h_macros.h > head/contrib/netbsd-tests/include/sys/t_bitops.c > head/contrib/netbsd-tests/include/sys/t_cdefs.c > head/contrib/netbsd-tests/include/sys/t_socket.c > head/contrib/netbsd-tests/include/t_paths.c > head/contrib/netbsd-tests/ipf/expected/n14 > head/contrib/netbsd-tests/ipf/expected/n14_6 > head/contrib/netbsd-tests/ipf/t_filter_parse.sh > head/contrib/netbsd-tests/ipf/t_nat_exec.sh > head/contrib/netbsd-tests/kernel/kqueue/t_ioctl.c > head/contrib/netbsd-tests/kernel/kqueue/t_proc1.c > head/contrib/netbsd-tests/kernel/kqueue/t_proc2.c > head/contrib/netbsd-tests/kernel/kqueue/t_proc3.c > head/contrib/netbsd-tests/kernel/t_rnd.c > head/contrib/netbsd-tests/lib/libbpfjit/t_bpfjit.c > head/contrib/netbsd-tests/lib/libc/arch/ia64/return_one.S > head/contrib/netbsd-tests/lib/libc/arch/powerpc/return_one.S > head/contrib/netbsd-tests/lib/libc/arch/riscv/return_one.S > head/contrib/netbsd-tests/lib/libc/db/t_db.sh > head/contrib/netbsd-tests/lib/libc/gen/execve/t_execve.c > head/contrib/netbsd-tests/lib/libc/gen/isqemu.h > head/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_spawn.c > head/contrib/netbsd-tests/lib/libc/gen/t_fnmatch.c > head/contrib/netbsd-tests/lib/libc/gen/t_fpsetmask.c > head/contrib/netbsd-tests/lib/libc/gen/t_randomid.c > head/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c > head/contrib/netbsd-tests/lib/libc/gen/t_sleep.c > head/contrib/netbsd-tests/lib/libc/gen/t_time.c > head/contrib/netbsd-tests/lib/libc/gen/t_vis.c > head/contrib/netbsd-tests/lib/libc/inet/t_inet_network.c > head/contrib/netbsd-tests/lib/libc/net/t_servent.sh > head/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c > head/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c > head/contrib/netbsd-tests/lib/libc/stdlib/t_posix_memalign.c > head/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c > head/contrib/netbsd-tests/lib/libc/stdlib/t_strtol.c > head/contrib/netbsd-tests/lib/libc/string/t_memset.c > head/contrib/netbsd-tests/lib/libc/sys/t_connect.c > head/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c > head/contrib/netbsd-tests/lib/libc/sys/t_kevent.c > head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c > head/contrib/netbsd-tests/lib/libc/sys/t_mmap.c > head/contrib/netbsd-tests/lib/libc/sys/t_mprotect.c > head/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c > head/contrib/netbsd-tests/lib/libc/sys/t_sigqueue.c > head/contrib/netbsd-tests/lib/libc/time/t_strptime.c > head/contrib/netbsd-tests/lib/libcurses/director/testlang_parse.y > head/contrib/netbsd-tests/lib/libm/t_exp.c > head/contrib/netbsd-tests/lib/libm/t_fmod.c > head/contrib/netbsd-tests/lib/libm/t_log.c > head/contrib/netbsd-tests/lib/libm/t_pow.c > head/contrib/netbsd-tests/lib/libpthread/t_cond.c > head/contrib/netbsd-tests/lib/libpthread/t_mutex.c > head/contrib/netbsd-tests/lib/libpthread/t_rwlock.c > head/contrib/netbsd-tests/lib/librumpclient/t_exec.sh > head/contrib/netbsd-tests/lib/librumpclient/t_fd.c > head/contrib/netbsd-tests/lib/librumphijack/t_tcpip.sh > head/contrib/netbsd-tests/lib/libutil/t_parsedate.c > head/contrib/netbsd-tests/net/bpfilter/t_bpfilter.c > head/contrib/netbsd-tests/net/bpfjit/t_bpfjit.c > head/contrib/netbsd-tests/net/icmp/t_forward.c > head/contrib/netbsd-tests/net/icmp/t_ping.c > head/contrib/netbsd-tests/net/icmp/t_ping2.sh > head/contrib/netbsd-tests/net/if_bridge/t_bridge.sh > head/contrib/netbsd-tests/net/mpls/t_ldp_regen.sh > head/contrib/netbsd-tests/net/mpls/t_mpls_fw.sh > head/contrib/netbsd-tests/net/mpls/t_rfc4182.sh > head/contrib/netbsd-tests/net/net/t_tcp.c > head/contrib/netbsd-tests/net/route/t_change.sh > head/contrib/netbsd-tests/rump/modautoload/t_modautoload.c > head/contrib/netbsd-tests/rump/rumpkern/h_server/h_simpleserver.c > head/contrib/netbsd-tests/rump/rumpkern/t_lwproc.c > head/contrib/netbsd-tests/rump/rumpkern/t_sp.sh > head/contrib/netbsd-tests/rump/rumpnet/t_shmif.sh > head/contrib/netbsd-tests/rump/rumpvfs/t_p2kifs.c > head/contrib/netbsd-tests/sbin/resize_ffs/common.sh > head/contrib/netbsd-tests/sbin/resize_ffs/t_grow.sh > head/contrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh > head/contrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh > head/contrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh > head/contrib/netbsd-tests/sbin/sysctl/t_perm.sh > head/contrib/netbsd-tests/share/mk/t_lib.sh > head/contrib/netbsd-tests/share/mk/t_prog.sh > head/contrib/netbsd-tests/share/mk/t_test.sh > head/contrib/netbsd-tests/usr.bin/cc/t_hello.sh > head/contrib/netbsd-tests/usr.bin/config/support/conf/files > head/contrib/netbsd-tests/usr.bin/config/t_config.sh > head/contrib/netbsd-tests/usr.bin/make/t_make.sh > head/contrib/netbsd-tests/usr.bin/netpgpverify/t_netpgpverify.sh > head/contrib/netbsd-tests/usr.bin/sed/t_sed.sh > head/contrib/netbsd-tests/usr.bin/sort/d_any_char_dflag_out.txt > (contents, props changed) > head/contrib/netbsd-tests/usr.bin/sort/d_any_char_fflag_out.txt > (contents, props changed) > head/contrib/netbsd-tests/usr.bin/sort/d_any_char_iflag_out.txt > (contents, props changed) > head/contrib/netbsd-tests/usr.sbin/traceroute/t_traceroute.sh > head/lib/libc/tests/db/Makefile > head/lib/libc/tests/hash/Makefile > head/lib/libc/tests/inet/Makefile > head/lib/libc/tests/stdio/Makefile > head/lib/libc/tests/stdlib/Makefile > head/lib/libc/tests/sys/Makefile > head/lib/msun/tests/Makefile > Directory Properties: > head/ (props changed) > head/contrib/netbsd-tests/ (props changed) > > Modified: head/bin/cat/tests/Makefile > ============================================================ > ================== > --- head/bin/cat/tests/Makefile Sat Sep 3 17:59:46 2016 (r305357) > +++ head/bin/cat/tests/Makefile Sat Sep 3 18:11:48 2016 (r305358) > @@ -6,7 +6,15 @@ NETBSD_ATF_TESTS_SH= cat_test > > ${PACKAGE}FILES+= d_align.in > ${PACKAGE}FILES+= d_align.out > +${PACKAGE}FILES+= d_se_output.in > +${PACKAGE}FILES+= d_se_output.out > > .include > > +d_align.out: ${TESTSRC}/d_align.out > + sed -E -e 's,^[[:space:]]{7}\$$$$,\$$,' < ${.ALLSRC} > > ${.TARGET}.tmp > + mv ${.TARGET}.tmp ${.TARGET} > + > +CLEANFILES+= d_align.out d_align.out.tmp > + > .include > > Modified: head/contrib/netbsd-tests/bin/cat/d_align.in > ============================================================ > ================== > --- head/contrib/netbsd-tests/bin/cat/d_align.in Sat Sep 3 > 17:59:46 2016 (r305357) > +++ head/contrib/netbsd-tests/bin/cat/d_align.in Sat Sep 3 > 18:11:48 2016 (r305358) > @@ -1,3 +1,5 @@ > a b c > + > 1 2 3 > + > x y z > > Modified: head/contrib/netbsd-tests/bin/cat/d_align.out > ============================================================ > ================== > --- head/contrib/netbsd-tests/bin/cat/d_align.out Sat Sep 3 > 17:59:46 2016 (r305357) > +++ head/contrib/netbsd-tests/bin/cat/d_align.out Sat Sep 3 > 18:11:48 2016 (r305358) > @@ -1,3 +1,5 @@ > 1 a b c$ > + $ > 2 1 2 3$ > + $ > 3 x y z$ > > Copied: head/contrib/netbsd-tests/bin/cat/d_se_output.in (from r305318, > projects/netbsd-tests-update-12/contrib/netbsd-tests/bin/cat/ > d_se_output.in) > ============================================================ > ================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/contrib/netbsd-tests/bin/cat/d_se_output.in Sat Sep 3 > 18:11:48 2016 (r305358, copy of r305318, > projects/netbsd-tests-update-12/contrib/netbsd-tests/bin/cat/ > d_se_output.in) > @@ -0,0 +1,3 @@ > + > +Of course it runs NetBSD > + > > Copied: head/contrib/netbsd-tests/bin/cat/d_se_output.out (from r305318, > projects/netbsd-tests-update-12/contrib/netbsd-tests/bin/ > cat/d_se_output.out) > ============================================================ > ================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/contrib/netbsd-tests/bin/cat/d_se_output.out Sat Sep 3 > 18:11:48 2016 (r305358, copy of r305318, > projects/netbsd-tests-update-12/contrib/netbsd-tests/bin/ > cat/d_se_output.out) > @@ -0,0 +1,3 @@ > +$ > +Of course it runs NetBSD$ > +$ > > Modified: head/contrib/netbsd-tests/bin/cat/t_cat.sh > ============================================================ > ================== > --- head/contrib/netbsd-tests/bin/cat/t_cat.sh Sat Sep 3 17:59:46 2016 > (r305357) > +++ head/contrib/netbsd-tests/bin/cat/t_cat.sh Sat Sep 3 18:11:48 2016 > (r305358) > @@ -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: head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command > ============================================================ > ================== > --- head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command Sat Sep > 3 17:59:46 2016 (r305357) > +++ head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command Sat Sep > 3 18:11:48 2016 (r305358) > @@ -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 < func() > > Modified: head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh > ============================================================ > ================== > --- head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh Sat Sep 3 > 17:59:46 2016 (r305357) > +++ head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh Sat Sep 3 > 18:11:48 2016 (r305358) > @@ -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' > > > Copied: head/contrib/netbsd-tests/bin/sh/t_arith.sh (from r305318, > projects/netbsd-tests-update-12/contrib/netbsd-tests/bin/sh/t_arith.sh) > ============================================================ > ================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/contrib/netbsd-tests/bin/sh/t_arith.sh Sat Sep 3 18:11:48 2016 > (r305358, copy of r305318, projects/netbsd-tests-update- > 12/contrib/netbsd-tests/bin/sh/t_arith.sh) > @@ -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 > +logical_and_head() > +{ > + atf_set "descr" "Test logical and operations in arithmetic > expressions" > +} > +logical_and_body() > +{ > + # cannot test short-circuit eval until sh implements side > effects... > + > + 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_expect_fail "PR bin/50960" > + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 0x1111 && 01234 ))' > + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 0xFFFF && 0xF0F0 ))' > +} > +atf_test_case logical_or > +logical_or_head() > +{ > + atf_set "descr" "Test logical or operations in arithmetic > expressions" > +} > +logical_or_body() > +{ > + # cannot test short-circuit eval until sh implements side > effects... > + > + 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_expect_fail "PR bin/50960" > + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 0x1111 || 01234 ))' > + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 0x33 || 0xF0F0 ))' > +} > + > +atf_test_case make_selection > +make_selection_head() > +{ > + atf_set "descr" "Test ?: operator in arithmetic expressions" > +} > +make_selection_body() > +{ > + # atf_expect_fail "PR bin/50958" > + > + atf_check -s exit:0 -o inline:'3\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 0 ? 2 : 3 ))' > + atf_check -s exit:0 -o inline:'2\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 1 ? 2 : 3 ))' > + > + atf_check -s exit:0 -o inline:'111\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 0x1234 ? 111 : 222 ))' > + > + atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 1 < 2 ? -1 : 1 > 2 ? 1 : 0 ))' > + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 1 < 1 ? -1 : 1 > 1 ? 1 : 0 ))' > + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 2 < 1 ? -1 : 2 > 1 ? 1 : 0 ))' > +} > + > +atf_test_case operator_precedence > +operator_precedence_head() > +{ > + atf_set "descr" "Test operator precedence without parentheses" > +} > +operator_precedence_body() > +{ > + # NB: apart from $(( )) ** NO ** parentheses in the expressions. > + > + atf_check -s exit:0 -o inline:'6\n' -e empty ${TEST_SH} -c \ > + 'echo $(( 1 + 2 + 3 ))' > > *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** > > From owner-freebsd-testing@freebsd.org Mon Sep 5 03:18:55 2016 Return-Path: Delivered-To: freebsd-testing@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 05BC6AC45E1; Mon, 5 Sep 2016 03:18:55 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x233.google.com (mail-pf0-x233.google.com [IPv6:2607:f8b0:400e:c00::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BB3F9C03; Mon, 5 Sep 2016 03:18:54 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x233.google.com with SMTP id p64so60496071pfb.1; Sun, 04 Sep 2016 20:18:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=AuuE6IaBJo/BQsHSuaDMzZfWIV2Tibu+IiUU7yOsfuM=; b=muIj79vMfthOMZ6FLooW8oYUkgZTsIdV03YsIZhFQTagAgIUSsf8vFKaEZeFTghxdv tTtDItBg/M3ikAHKDqvnqpi2JkxrxmlZAsE9b6eX7Jx/KWQwnfLrW4plisl/mFgQu1au igfPb7jHavO+E6ceK/rYSYgZyqUc08zj1kdlrv/d4OBbI9n1zuBllkuBjg4bu5yFsuhv QtwIA14fVcyNQlg6gClHSJbqGU4+5z+jIIdGL9gwSzUMrV/LBSTjlR8K11cBiFYtpGaV nlfxE056dNdmRnQ030eC/YbdtDkkYva/fReZPi8CErR4XxallBb4dDHrMgU9z45zn1Ig 2SUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=AuuE6IaBJo/BQsHSuaDMzZfWIV2Tibu+IiUU7yOsfuM=; b=aPM+j6OmQJzE63ujouDyt7sm+PYfXN9AnJBB6icFADUKbQV7vQTYIgYSfpWQlsdwwn bbK4HkufvPFAHjxYG+yEadi5VHna/FGNLpfHTSq2fW/xa3q0/QB2PTfxJlwocVmg2mKk RhNzJH2QXf3qcHGtOaB3j1Q1UOcHQO399sr1R3uXuDYk0vnyKNtmn77AqVLvbSK3urKd gcpRIo8v4D+/VDyIGiOosbV1HrFqQGAOB00WC76bZiYbQszGJ35/X8GE2yRpyLePMAmZ opO65MGsae8cNEymrWxPm2nBVHoJbFaknZisKXw2CEqjj9ccxrGM13kpMCG7JwdJ+gpU 3u/w== X-Gm-Message-State: AE9vXwN2GXAI1U6DRBr7C9hHxB2EHrveYxBz3jwe4RYRjFLl86B/hTEFi8MdRCE/aX5fqw== X-Received: by 10.98.64.93 with SMTP id n90mr59859111pfa.29.1473045533433; Sun, 04 Sep 2016 20:18:53 -0700 (PDT) Received: from [21.180.225.16] ([172.56.42.239]) by smtp.gmail.com with ESMTPSA id w76sm29808747pfd.69.2016.09.04.20.18.46 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 04 Sep 2016 20:18:48 -0700 (PDT) Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r305358 - in head: bin/cat/tests contrib/netbsd-tests contrib/netbsd-tests/bin/cat contrib/netbsd-tests/bin/sh contrib/netbsd-tests/bin/sh/dotcmd contrib/netbsd-tests/crypto/opencrypto ... From: Ngie Cooper X-Mailer: iPhone Mail (13G36) In-Reply-To: Date: Sun, 4 Sep 2016 20:18:44 -0700 Cc: Ngie Cooper , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" , "freebsd-testing@freebsd.org" Message-Id: References: <201609031811.u83IBnmt080798@repo.freebsd.org> To: Craig Rodrigues Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-testing@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Testing on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Sep 2016 03:18:55 -0000 > On Sep 4, 2016, at 19:24, Craig Rodrigues wrote: >=20 > Hi, >=20 > The tests in libc are broken after this commit. > lib/libc/test/db/Makefile defines "PROGS =3D h_lfsr" > but the test is trying to execute a binary "h_db" > which no longer exists. >=20 > Can you fix this? >=20 > Thanks. There's also the lib/libc/rpc tests that assume that rpcbind is up and runni= ng. I ran into this on some of my systems that didn't run rpcbind -- I was h= oping it had been started with the bhyve slaves but that doesn't seem to be t= he case. Thanks for the note.. I'll probably get to it tomorrow. Cheers! -Ngie >=20 >=20 >> On Sat, Sep 3, 2016 at 11:11 AM, Ngie Cooper wrote: >> Author: ngie >> Date: Sat Sep 3 18:11:48 2016 >> New Revision: 305358 >> URL: https://svnweb.freebsd.org/changeset/base/305358 >>=20 >> Log: >> Update contrib/netbsd-tests with new content from NetBSD >>=20 >> This updates the snapshot from 09/30/2014 to 08/11/2016 >>=20 >> This brings in a number of new testcases from upstream, most >> notably: >>=20 >> - bin/cat >> - lib/libc >> - lib/msun >> - lib/libthr >> - usr.bin/sort >>=20 >> lib/libc/tests/stdio/open_memstream_test.c was moved to >> lib/libc/tests/stdio/open_memstream2_test.c to accomodate >> the new open_memstream test from NetBSD. >>=20 >> MFC after: 2 months >> Tested on: amd64 (VMware fusion VM; various bare metal platforms); i= 386 (VMware fusion VM); make tinderbox >> Sponsored by: EMC / Isilon Storage Division >>=20 >> Added: >> head/contrib/netbsd-tests/bin/cat/d_se_output.in >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/cat/d_se_output.in >> head/contrib/netbsd-tests/bin/cat/d_se_output.out >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/cat/d_se_output.out >> head/contrib/netbsd-tests/bin/sh/t_arith.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/sh/t_arith.sh >> head/contrib/netbsd-tests/bin/sh/t_cmdsub.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/sh/t_cmdsub.sh >> head/contrib/netbsd-tests/bin/sh/t_option.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/sh/t_option.sh >> head/contrib/netbsd-tests/bin/sh/t_redir.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/sh/t_redir.sh >> head/contrib/netbsd-tests/bin/sh/t_redircloexec.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/sh/t_redircloexec.sh >> head/contrib/netbsd-tests/bin/sh/t_shift.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/sh/t_shift.sh >> head/contrib/netbsd-tests/bin/sh/t_varval.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/bin/sh/t_varval.sh >> head/contrib/netbsd-tests/dev/fss/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/dev/fss/ >> head/contrib/netbsd-tests/dev/usb/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/dev/usb/ >> head/contrib/netbsd-tests/include/sys/t_pslist.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/include/sys/t_pslist.c >> head/contrib/netbsd-tests/kernel/kqueue/t_vnode.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/kernel/kqueue/t_vnode.c >> head/contrib/netbsd-tests/lib/libc/db/h_lfsr.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/db/h_lfsr.c >> head/contrib/netbsd-tests/lib/libc/db/t_db_hash_seq.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/db/t_db_hash_seq.c >> head/contrib/netbsd-tests/lib/libc/inet/t_inet_addr.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/inet/t_inet_addr.c >> head/contrib/netbsd-tests/lib/libc/stdio/t_open_memstream.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/stdio/t_open_memstream.c >> head/contrib/netbsd-tests/lib/libc/stdlib/t_strtoi.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/stdlib/t_strtoi.c >> head/contrib/netbsd-tests/lib/libc/sync/cpp_atomic_ops_linkable.cc >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/sync/cpp_atomic_ops_linkable.cc >> head/contrib/netbsd-tests/lib/libc/sys/t_bind.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/sys/t_bind.c >> head/contrib/netbsd-tests/lib/libc/sys/t_getsockname.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/sys/t_getsockname.c >> head/contrib/netbsd-tests/lib/libc/sys/t_posix_fallocate.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/sys/t_posix_fallocate.c >> head/contrib/netbsd-tests/lib/libc/sys/t_wait.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libc/sys/t_wait.c >> head/contrib/netbsd-tests/lib/libm/t_fenv.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libm/t_fenv.c >> head/contrib/netbsd-tests/lib/libm/t_hypot.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/lib/libm/t_hypot.c >> head/contrib/netbsd-tests/lib/libusbhid/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/lib/libusbhid/ >> head/contrib/netbsd-tests/net/arp/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/net/arp/ >> head/contrib/netbsd-tests/net/icmp/t_icmp6_redirect.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/icmp/t_icmp6_redirect.sh >> head/contrib/netbsd-tests/net/icmp/t_icmp_redirect.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/icmp/t_icmp_redirect.sh >> head/contrib/netbsd-tests/net/if/ifconf.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/if/ifconf.c >> head/contrib/netbsd-tests/net/if/t_ifconf.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/if/t_ifconf.sh >> head/contrib/netbsd-tests/net/if/t_ifconfig.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/if/t_ifconfig.sh >> head/contrib/netbsd-tests/net/if_gif/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/net/if_gif/ >> head/contrib/netbsd-tests/net/if_pppoe/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/net/if_pppoe/ >> head/contrib/netbsd-tests/net/if_tap/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/net/if_tap/ >> head/contrib/netbsd-tests/net/in_cksum/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/net/in_cksum/ >> head/contrib/netbsd-tests/net/mcast/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/net/mcast/ >> head/contrib/netbsd-tests/net/mpls/t_mpls_fw6.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/mpls/t_mpls_fw6.sh >> head/contrib/netbsd-tests/net/mpls/t_mpls_fw64.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/mpls/t_mpls_fw64.sh >> head/contrib/netbsd-tests/net/ndp/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/net/ndp/ >> head/contrib/netbsd-tests/net/net/t_forwarding.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/net/t_forwarding.sh >> head/contrib/netbsd-tests/net/net/t_ipaddress.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/net/t_ipaddress.sh >> head/contrib/netbsd-tests/net/net/t_ipv6_lifetime.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/net/t_ipv6_lifetime.sh >> head/contrib/netbsd-tests/net/net/t_ipv6address.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/net/t_ipv6address.sh >> head/contrib/netbsd-tests/net/route/t_flags.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/route/t_flags.sh >> head/contrib/netbsd-tests/net/route/t_flags6.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/route/t_flags6.sh >> head/contrib/netbsd-tests/net/route/t_route.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/net/route/t_route.sh >> head/contrib/netbsd-tests/sbin/gpt/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/sbin/gpt/ >> head/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/sbin/resize_ffs/t_check.sh >> head/contrib/netbsd-tests/sys/net/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/sys/net/ >> head/contrib/netbsd-tests/sys/netatalk/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/sys/netatalk/ >> head/contrib/netbsd-tests/sys/netinet/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/sys/netinet/ >> head/contrib/netbsd-tests/sys/netinet6/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/sys/netinet6/ >> head/contrib/netbsd-tests/usr.bin/config/d_min >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/config/d_min >> head/contrib/netbsd-tests/usr.bin/gdb/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/usr.bin/gdb/ >> head/contrib/netbsd-tests/usr.bin/ld/ >> - copied from r305318, projects/netbsd-tests-update-12/contrib/netbs= d-tests/usr.bin/ld/ >> head/contrib/netbsd-tests/usr.bin/netpgpverify/Testspec >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/netpgpverify/Testspec >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_struct.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_struct.c >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_compound_literal_co= mma.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_c99_compound_literal_comma.c >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_flex_array_packed.c= >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_c99_flex_array_packed.c >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_nested_struct.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_c99_nested_struct.c >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_init4.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_init4.c >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_cast_fun_array_param.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_cast_fun_array_param.c >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_type_question_colon.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_type_question_colon.c >> head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_typefun.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/con= trib/netbsd-tests/usr.bin/xlint/lint1/d_typefun.c >> head/lib/libc/tests/stdio/open_memstream2_test.c >> - copied unchanged from r305318, projects/netbsd-tests-update-12/lib= /libc/tests/stdio/open_memstream2_test.c >> Deleted: >> head/contrib/netbsd-tests/bin/sh/t_compexit.sh >> head/contrib/netbsd-tests/fs/nfs/nfsservice/mountd.c >> head/contrib/netbsd-tests/fs/nfs/nfsservice/nfsd.c >> head/lib/libc/tests/stdio/open_memstream_test.c >> Modified: >> head/bin/cat/tests/Makefile >> head/contrib/netbsd-tests/bin/cat/d_align.in >> head/contrib/netbsd-tests/bin/cat/d_align.out >> head/contrib/netbsd-tests/bin/cat/t_cat.sh >> head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command >> head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh >> head/contrib/netbsd-tests/bin/sh/t_evaltested.sh >> head/contrib/netbsd-tests/bin/sh/t_exit.sh >> head/contrib/netbsd-tests/bin/sh/t_expand.sh >> head/contrib/netbsd-tests/bin/sh/t_fsplit.sh >> head/contrib/netbsd-tests/bin/sh/t_here.sh >> head/contrib/netbsd-tests/bin/sh/t_set_e.sh >> head/contrib/netbsd-tests/bin/sh/t_ulimit.sh >> head/contrib/netbsd-tests/bin/sh/t_varquote.sh >> head/contrib/netbsd-tests/bin/sh/t_wait.sh >> head/contrib/netbsd-tests/crypto/opencrypto/t_opencrypto.sh >> head/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue >> head/contrib/netbsd-tests/dev/dm/h_dm.c >> head/contrib/netbsd-tests/dev/sysmon/t_swsensor.sh >> head/contrib/netbsd-tests/dev/sysmon/t_swwdog.c >> head/contrib/netbsd-tests/fs/common/fstest_lfs.c >> head/contrib/netbsd-tests/fs/common/h_fsmacros.h >> head/contrib/netbsd-tests/fs/nfs/nfsservice/rumpnfsd.c >> head/contrib/netbsd-tests/fs/nfs/t_rquotad.sh >> head/contrib/netbsd-tests/fs/tmpfs/t_vnd.sh >> head/contrib/netbsd-tests/fs/vfs/t_io.c >> head/contrib/netbsd-tests/fs/vfs/t_renamerace.c >> head/contrib/netbsd-tests/fs/vfs/t_unpriv.c >> head/contrib/netbsd-tests/fs/vfs/t_vnops.c >> head/contrib/netbsd-tests/games/t_factor.sh >> head/contrib/netbsd-tests/h_macros.h >> head/contrib/netbsd-tests/include/sys/t_bitops.c >> head/contrib/netbsd-tests/include/sys/t_cdefs.c >> head/contrib/netbsd-tests/include/sys/t_socket.c >> head/contrib/netbsd-tests/include/t_paths.c >> head/contrib/netbsd-tests/ipf/expected/n14 >> head/contrib/netbsd-tests/ipf/expected/n14_6 >> head/contrib/netbsd-tests/ipf/t_filter_parse.sh >> head/contrib/netbsd-tests/ipf/t_nat_exec.sh >> head/contrib/netbsd-tests/kernel/kqueue/t_ioctl.c >> head/contrib/netbsd-tests/kernel/kqueue/t_proc1.c >> head/contrib/netbsd-tests/kernel/kqueue/t_proc2.c >> head/contrib/netbsd-tests/kernel/kqueue/t_proc3.c >> head/contrib/netbsd-tests/kernel/t_rnd.c >> head/contrib/netbsd-tests/lib/libbpfjit/t_bpfjit.c >> head/contrib/netbsd-tests/lib/libc/arch/ia64/return_one.S >> head/contrib/netbsd-tests/lib/libc/arch/powerpc/return_one.S >> head/contrib/netbsd-tests/lib/libc/arch/riscv/return_one.S >> head/contrib/netbsd-tests/lib/libc/db/t_db.sh >> head/contrib/netbsd-tests/lib/libc/gen/execve/t_execve.c >> head/contrib/netbsd-tests/lib/libc/gen/isqemu.h >> head/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_spawn.c >> head/contrib/netbsd-tests/lib/libc/gen/t_fnmatch.c >> head/contrib/netbsd-tests/lib/libc/gen/t_fpsetmask.c >> head/contrib/netbsd-tests/lib/libc/gen/t_randomid.c >> head/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c >> head/contrib/netbsd-tests/lib/libc/gen/t_sleep.c >> head/contrib/netbsd-tests/lib/libc/gen/t_time.c >> head/contrib/netbsd-tests/lib/libc/gen/t_vis.c >> head/contrib/netbsd-tests/lib/libc/inet/t_inet_network.c >> head/contrib/netbsd-tests/lib/libc/net/t_servent.sh >> head/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c >> head/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c >> head/contrib/netbsd-tests/lib/libc/stdlib/t_posix_memalign.c >> head/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c >> head/contrib/netbsd-tests/lib/libc/stdlib/t_strtol.c >> head/contrib/netbsd-tests/lib/libc/string/t_memset.c >> head/contrib/netbsd-tests/lib/libc/sys/t_connect.c >> head/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c >> head/contrib/netbsd-tests/lib/libc/sys/t_kevent.c >> head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c >> head/contrib/netbsd-tests/lib/libc/sys/t_mmap.c >> head/contrib/netbsd-tests/lib/libc/sys/t_mprotect.c >> head/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c >> head/contrib/netbsd-tests/lib/libc/sys/t_sigqueue.c >> head/contrib/netbsd-tests/lib/libc/time/t_strptime.c >> head/contrib/netbsd-tests/lib/libcurses/director/testlang_parse.y >> head/contrib/netbsd-tests/lib/libm/t_exp.c >> head/contrib/netbsd-tests/lib/libm/t_fmod.c >> head/contrib/netbsd-tests/lib/libm/t_log.c >> head/contrib/netbsd-tests/lib/libm/t_pow.c >> head/contrib/netbsd-tests/lib/libpthread/t_cond.c >> head/contrib/netbsd-tests/lib/libpthread/t_mutex.c >> head/contrib/netbsd-tests/lib/libpthread/t_rwlock.c >> head/contrib/netbsd-tests/lib/librumpclient/t_exec.sh >> head/contrib/netbsd-tests/lib/librumpclient/t_fd.c >> head/contrib/netbsd-tests/lib/librumphijack/t_tcpip.sh >> head/contrib/netbsd-tests/lib/libutil/t_parsedate.c >> head/contrib/netbsd-tests/net/bpfilter/t_bpfilter.c >> head/contrib/netbsd-tests/net/bpfjit/t_bpfjit.c >> head/contrib/netbsd-tests/net/icmp/t_forward.c >> head/contrib/netbsd-tests/net/icmp/t_ping.c >> head/contrib/netbsd-tests/net/icmp/t_ping2.sh >> head/contrib/netbsd-tests/net/if_bridge/t_bridge.sh >> head/contrib/netbsd-tests/net/mpls/t_ldp_regen.sh >> head/contrib/netbsd-tests/net/mpls/t_mpls_fw.sh >> head/contrib/netbsd-tests/net/mpls/t_rfc4182.sh >> head/contrib/netbsd-tests/net/net/t_tcp.c >> head/contrib/netbsd-tests/net/route/t_change.sh >> head/contrib/netbsd-tests/rump/modautoload/t_modautoload.c >> head/contrib/netbsd-tests/rump/rumpkern/h_server/h_simpleserver.c >> head/contrib/netbsd-tests/rump/rumpkern/t_lwproc.c >> head/contrib/netbsd-tests/rump/rumpkern/t_sp.sh >> head/contrib/netbsd-tests/rump/rumpnet/t_shmif.sh >> head/contrib/netbsd-tests/rump/rumpvfs/t_p2kifs.c >> head/contrib/netbsd-tests/sbin/resize_ffs/common.sh >> head/contrib/netbsd-tests/sbin/resize_ffs/t_grow.sh >> head/contrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh >> head/contrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh >> head/contrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh >> head/contrib/netbsd-tests/sbin/sysctl/t_perm.sh >> head/contrib/netbsd-tests/share/mk/t_lib.sh >> head/contrib/netbsd-tests/share/mk/t_prog.sh >> head/contrib/netbsd-tests/share/mk/t_test.sh >> head/contrib/netbsd-tests/usr.bin/cc/t_hello.sh >> head/contrib/netbsd-tests/usr.bin/config/support/conf/files >> head/contrib/netbsd-tests/usr.bin/config/t_config.sh >> head/contrib/netbsd-tests/usr.bin/make/t_make.sh >> head/contrib/netbsd-tests/usr.bin/netpgpverify/t_netpgpverify.sh >> head/contrib/netbsd-tests/usr.bin/sed/t_sed.sh >> head/contrib/netbsd-tests/usr.bin/sort/d_any_char_dflag_out.txt (cont= ents, props changed) >> head/contrib/netbsd-tests/usr.bin/sort/d_any_char_fflag_out.txt (cont= ents, props changed) >> head/contrib/netbsd-tests/usr.bin/sort/d_any_char_iflag_out.txt (cont= ents, props changed) >> head/contrib/netbsd-tests/usr.sbin/traceroute/t_traceroute.sh >> head/lib/libc/tests/db/Makefile >> head/lib/libc/tests/hash/Makefile >> head/lib/libc/tests/inet/Makefile >> head/lib/libc/tests/stdio/Makefile >> head/lib/libc/tests/stdlib/Makefile >> head/lib/libc/tests/sys/Makefile >> head/lib/msun/tests/Makefile >> Directory Properties: >> head/ (props changed) >> head/contrib/netbsd-tests/ (props changed) >>=20 >> Modified: head/bin/cat/tests/Makefile >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- head/bin/cat/tests/Makefile Sat Sep 3 17:59:46 2016 (r305357)= >> +++ head/bin/cat/tests/Makefile Sat Sep 3 18:11:48 2016 (r305358)= >> @@ -6,7 +6,15 @@ NETBSD_ATF_TESTS_SH=3D cat_test >>=20 >> ${PACKAGE}FILES+=3D d_align.in >> ${PACKAGE}FILES+=3D d_align.out >> +${PACKAGE}FILES+=3D d_se_output.in >> +${PACKAGE}FILES+=3D d_se_output.out >>=20 >> .include >>=20 >> +d_align.out: ${TESTSRC}/d_align.out >> + sed -E -e 's,^[[:space:]]{7}\$$$$,\$$,' < ${.ALLSRC} > ${.TARGET}= .tmp >> + mv ${.TARGET}.tmp ${.TARGET} >> + >> +CLEANFILES+=3D d_align.out d_align.out.tmp >> + >> .include >>=20 >> Modified: head/contrib/netbsd-tests/bin/cat/d_align.in >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- head/contrib/netbsd-tests/bin/cat/d_align.in Sat Sep 3 17:59:= 46 2016 (r305357) >> +++ head/contrib/netbsd-tests/bin/cat/d_align.in Sat Sep 3 18:11:= 48 2016 (r305358) >> @@ -1,3 +1,5 @@ >> a b c >> + >> 1 2 3 >> + >> x y z >>=20 >> Modified: head/contrib/netbsd-tests/bin/cat/d_align.out >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- head/contrib/netbsd-tests/bin/cat/d_align.out Sat Sep 3 17:59:= 46 2016 (r305357) >> +++ head/contrib/netbsd-tests/bin/cat/d_align.out Sat Sep 3 18:11:= 48 2016 (r305358) >> @@ -1,3 +1,5 @@ >> 1 a b c$ >> + $ >> 2 1 2 3$ >> + $ >> 3 x y z$ >>=20 >> Copied: head/contrib/netbsd-tests/bin/cat/d_se_output.in (from r305318, p= rojects/netbsd-tests-update-12/contrib/netbsd-tests/bin/cat/d_se_output.in) >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- /dev/null 00:00:00 1970 (empty, because file is newly added) >> +++ head/contrib/netbsd-tests/bin/cat/d_se_output.in Sat Sep 3 18:11:= 48 2016 (r305358, copy of r305318, projects/netbsd-tests-update-12/co= ntrib/netbsd-tests/bin/cat/d_se_output.in) >> @@ -0,0 +1,3 @@ >> + >> +Of course it runs NetBSD >> + >>=20 >> Copied: head/contrib/netbsd-tests/bin/cat/d_se_output.out (from r305318, p= rojects/netbsd-tests-update-12/contrib/netbsd-tests/bin/cat/d_se_output.out)= >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- /dev/null 00:00:00 1970 (empty, because file is newly added) >> +++ head/contrib/netbsd-tests/bin/cat/d_se_output.out Sat Sep 3 18:11:= 48 2016 (r305358, copy of r305318, projects/netbsd-tests-update-12/co= ntrib/netbsd-tests/bin/cat/d_se_output.out) >> @@ -0,0 +1,3 @@ >> +$ >> +Of course it runs NetBSD$ >> +$ >>=20 >> Modified: head/contrib/netbsd-tests/bin/cat/t_cat.sh >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- head/contrib/netbsd-tests/bin/cat/t_cat.sh Sat Sep 3 17:59:46 2016 = (r305357) >> +++ head/contrib/netbsd-tests/bin/cat/t_cat.sh Sat Sep 3 18:11:48 2016 = (r305358) >> @@ -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" >> } >>=20 >> +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 >> } >>=20 >> Modified: head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command Sat Sep 3= 17:59:46 2016 (r305357) >> +++ head/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command Sat Sep 3= 18:11:48 2016 (r305358) >> @@ -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. >> # >>=20 >> +: ${TEST_SH:=3D/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 w= ork >> + esac >> + >> + case "$1" in >> + /*) TEST_SH=3D"$1${2+ }$2";; >> + ./*) TEST_SH=3D"${PWD}${1#.}${2+ }$2";; >> + */*) TEST_SH=3D"${PWD}/$1${2+ }$2";; >> + *) TEST_SH=3D"$( command -v "$1" )${2+ }$2";; >> + esac >> +} >> + >> +sane_sh >> + >> set -e >>=20 >> # USAGE: >> @@ -52,7 +73,7 @@ cmd=3D"echo 'before ${3}' >> ${2} >> echo 'after ${3}, return value:' ${?}" >>=20 >> -echo "#!/bin/sh" >> +echo "#!${TEST_SH}" >>=20 >> [ 'func' =3D "${1}" ] && cat <> func() >>=20 >> Modified: head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh Sat Sep 3 17:59:= 46 2016 (r305357) >> +++ head/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh Sat Sep 3 18:11:= 48 2016 (r305358) >> @@ -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 i= n >> # the sourced file can be used to break out of that loop. >>=20 >> +# 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=3D'return break continue' >> scopes=3D'case compound file for func subshell until while' >>=20 >>=20 >> Copied: head/contrib/netbsd-tests/bin/sh/t_arith.sh (from r305318, projec= ts/netbsd-tests-update-12/contrib/netbsd-tests/bin/sh/t_arith.sh) >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> --- /dev/null 00:00:00 1970 (empty, because file is newly added) >> +++ head/contrib/netbsd-tests/bin/sh/t_arith.sh Sat Sep 3 18:11:48 2016 = (r305358, copy of r305318, projects/netbsd-tests-update-12/contrib/ne= tbsd-tests/bin/sh/t_arith.sh) >> @@ -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 CONTRIBUT= ORS >> +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LI= MITED >> +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTIC= ULAR >> +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUT= ORS >> +# 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 BUSINE= SS >> +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER I= N >> +# 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:=3D"/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 gi= ves 2 >> +# and that 42 or 123 don't look like success because there is a 2 in the= m. >> + >> +ARITH_BITS=3D'?' >> +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 ))' ) =3D 131071 || retur= n >> + >> + # 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=3D32 >> + return >> + fi >> + if ${TEST_SH} 2>/dev/null \ >> + -c 'case $(( 0xC0000000 )); in (-*) exit 0;; esac; exit 1' >> + then >> + ARITH_BITS=3D32 >> + return >> + fi >> + if ${TEST_SH} -c '[ $(( 0xC0000000 )) !=3D 3221225472 ]' 2>/dev/n= ull >> + then >> + ARITH_BITS=3D32 >> + return >> + fi >> + >> + if ! ${TEST_SH} -c ': $(( 0xC000000000000000 ))' 2>/dev/null >> + then >> + ARITH_BITS=3D64 >> + return >> + fi >> + if ${TEST_SH} 2>/dev/null \ >> + -c 'case $(( 0xC000000000000000 )); in (-*) exit 0;; esac; ex= it 1' >> + then >> + ARITH_BITS=3D64 >> + return >> + fi >> + if ${TEST_SH} 2>/dev/null \ >> + -c '[ $((0xC000000000000000)) !=3D 13835058055282163712 ]' >> + then >> + ARITH_BITS=3D64 >> + return >> + fi >> + >> + if ${TEST_SH} 2>/dev/null -c \ >> + '[ $((0x123456781234567812345678)) =3D 56340026578427560539384= 93048 ]' >> + then >> + # just assume... (for now anyway, revisit when it happens= ...) >> + ARITH_BITS=3D96 >> + return >> + fi >> +} >> + >> +atf_test_case constants >> +constants_head() >> +{ >> + atf_set "descr" "Tests that arithmetic expansion can handle cons= tants" >> +} >> +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=3D7;echo $(($x))' >> + atf_check -s exit:0 -o inline:'9\n' -e empty ${TEST_SH} -c \ >> + 'x=3D9;echo $((x))' >> + >> + atf_check -s exit:0 -o inline:'11\n' -e empty \ >> + ${TEST_SH} -c 'x=3D0xB; echo $(( $x ))' >> + atf_check -s exit:0 -o inline:'27\n' -e empty \ >> + ${TEST_SH} -c 'x=3D0X1B; echo $(( x ))' >> + atf_check -s exit:0 -o inline:'27\n' -e empty \ >> + ${TEST_SH} -c 'X=3D033; echo $(( $X ))' >> + atf_check -s exit:0 -o inline:'219\n' -e empty \ >> + ${TEST_SH} -c 'X=3D0333; echo $(( X ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty \ >> + ${TEST_SH} -c 'NULL=3D; 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 expecte= d" >> +} >> +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 expecte= d" >> +} >> +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 expec= ted" >> +} >> +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 expect= ed" >> +} >> +elementary_eq_body() >> +{ >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 =3D=3D 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 =3D=3D 0000 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 =3D=3D 0x00 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 =3D=3D 1 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'X=3D30; Y=3D0x1E; echo $(( X =3D=3D Y ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x1234 =3D=3D 4660 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x1234 =3D=3D 011064 ))' >> + >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 =3D=3D 1 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 =3D=3D 0000000000000001 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 =3D=3D 0x10000000000000 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 =3D=3D 2 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'X=3D3; Y=3D7; echo $(( X =3D=3D Y ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1234 =3D=3D 0x4660 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 01234 =3D=3D 0x11064 ))' >> +} >> +atf_test_case elementary_ne >> +elementary_ne_head() >> +{ >> + atf_set "descr" "Tests that simple inequality test works as expe= cted" >> +} >> +elementary_ne_body() >> +{ >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 !=3D 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x71 !=3D 17 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1234 !=3D 01234 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x1234 !=3D 01234 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'X=3D3; echo $(( X !=3D 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'X=3D3; Y=3D0x11; echo $(( X !=3D Y ))' >> + >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 3 !=3D 3 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 !=3D 0x0 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0xA !=3D 012 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'X=3D1; echo $(( X !=3D 1 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'X=3D0xC; Y=3D014; echo $(( X !=3D Y ))' >> +} >> +atf_test_case elementary_lt >> +elementary_lt_head() >> +{ >> + atf_set "descr" "Tests that simple less than test works as expec= ted" >> +} >> +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 e= xpected" >> +} >> +elementary_le_body() >> +{ >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 <=3D 1 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( -1 <=3D 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 <=3D 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 <=3D 10 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 100 <=3D 101 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0xA1 <=3D 161 ))' >> + >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 <=3D 0 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( -100 <=3D -200 ))' >> + >> + test ${ARITH_BITS} -ge 40 && >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'cost=3D; AUD=3D; echo $(( $cost 0x2FEEDBABE <=3D $AUD 12= 866927294 ))' >> + >> + return 0 >> +} >> +atf_test_case elementary_gt >> +elementary_gt_head() >> +{ >> + atf_set "descr" "Tests that simple greater than works as expecte= d" >> +} >> +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 exp= ected" >> +} >> +elementary_ge_body() >> +{ >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 >=3D 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 >=3D 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( -100 >=3D -101 ))' >> + >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( -1 >=3D 0 ))' >> +} >> + >> +atf_test_case fiddle_bits_and >> +fiddle_bits_and_head() >> +{ >> + atf_set "descr" "Test bitwise and operations in arithmetic expres= sions" >> +} >> +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 express= ions" >> +} >> +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 expres= sions" >> +} >> +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 >> +logical_and_head() >> +{ >> + atf_set "descr" "Test logical and operations in arithmetic expres= sions" >> +} >> +logical_and_body() >> +{ >> + # cannot test short-circuit eval until sh implements side effects= ... >> + >> + 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_expect_fail "PR bin/50960" >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x1111 && 01234 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0xFFFF && 0xF0F0 ))' >> +} >> +atf_test_case logical_or >> +logical_or_head() >> +{ >> + atf_set "descr" "Test logical or operations in arithmetic express= ions" >> +} >> +logical_or_body() >> +{ >> + # cannot test short-circuit eval until sh implements side effects= ... >> + >> + 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_expect_fail "PR bin/50960" >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x1111 || 01234 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x33 || 0xF0F0 ))' >> +} >> + >> +atf_test_case make_selection >> +make_selection_head() >> +{ >> + atf_set "descr" "Test ?: operator in arithmetic expressions" >> +} >> +make_selection_body() >> +{ >> + # atf_expect_fail "PR bin/50958" >> + >> + atf_check -s exit:0 -o inline:'3\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0 ? 2 : 3 ))' >> + atf_check -s exit:0 -o inline:'2\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 ? 2 : 3 ))' >> + >> + atf_check -s exit:0 -o inline:'111\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 0x1234 ? 111 : 222 ))' >> + >> + atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 < 2 ? -1 : 1 > 2 ? 1 : 0 ))' >> + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 < 1 ? -1 : 1 > 1 ? 1 : 0 ))' >> + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 2 < 1 ? -1 : 2 > 1 ? 1 : 0 ))' >> +} >> + >> +atf_test_case operator_precedence >> +operator_precedence_head() >> +{ >> + atf_set "descr" "Test operator precedence without parentheses" >> +} >> +operator_precedence_body() >> +{ >> + # NB: apart from $(( )) ** NO ** parentheses in the expressions.= >> + >> + atf_check -s exit:0 -o inline:'6\n' -e empty ${TEST_SH} -c \ >> + 'echo $(( 1 + 2 + 3 ))' >>=20 >> *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** >=20