Index: head/etc/mtree/BSD.tests.dist
===================================================================
--- head/etc/mtree/BSD.tests.dist	(revision 351317)
+++ head/etc/mtree/BSD.tests.dist	(revision 351318)
@@ -1,1094 +1,1096 @@
 # $FreeBSD$
 #
 # Please see the file src/etc/mtree/README before making changes to this file.
 #
 
 /set type=dir uname=root gname=wheel mode=0755
 .
     bin
         cat
         ..
         chflags
         ..
         chmod
         ..
         date
         ..
         dd
         ..
         echo
         ..
         expr
         ..
         ln
         ..
         ls
         ..
         mkdir
         ..
         mv
         ..
         pax
         ..
         pkill
         ..
         pwait
         ..
         rm
         ..
         rmdir
         ..
         sh
             builtins
             ..
             errors
             ..
             execution
             ..
             expansion
             ..
             invocation
             ..
             parameters
             ..
             parser
             ..
             set-e
             ..
         ..
         sleep
         ..
         test
         ..
     ..
     cddl
         lib
         ..
         sbin
         ..
         usr.bin
             ctfconvert
             ..
             ztest
             ..
         ..
         usr.sbin
             dtrace
                 common
                     aggs
                     ..
                     arithmetic
                     ..
                     arrays
                     ..
                     assocs
                     ..
                     begin
                     ..
                     bitfields
                     ..
                     buffering
                     ..
                     builtinvar
                     ..
                     cg
                     ..
                     clauses
                     ..
                     cpc
                     ..
                     decls
                     ..
                     drops
                     ..
                     dtraceUtil
                     ..
                     end
                     ..
                     env
                     ..
                     enum
                     ..
                     error
                     ..
                     exit
                     ..
                     fbtprovider
                     ..
                     funcs
                     ..
                     grammar
                     ..
                     include
                     ..
                     inline
                     ..
                     io
                     ..
                     ip
                     ..
                     java_api
                     ..
                     json
                     ..
                     lexer
                     ..
                     llquantize
                     ..
                     mdb
                     ..
                     mib
                     ..
                     misc
                     ..
                     multiaggs
                     ..
                     offsetof
                     ..
                     operators
                     ..
                     pid
                     ..
                     plockstat
                     ..
                     pointers
                     ..
                     pragma
                     ..
                     predicates
                     ..
                     preprocessor
                     ..
                     print
                     ..
                     printa
                     ..
                     printf
                     ..
                     privs
                     ..
                     probes
                     ..
                     proc
                     ..
                     profile-n
                     ..
                     providers
                     ..
                     raise
                     ..
                     rates
                     ..
                     safety
                     ..
                     scalars
                     ..
                     sched
                     ..
                     scripting
                     ..
                     sdt
                     ..
                     sizeof
                     ..
                     speculation
                     ..
                     stability
                     ..
                     stack
                     ..
                     stackdepth
                     ..
                     stop
                     ..
                     strlen
                     ..
                     strtoll
                     ..
                     struct
                     ..
                     sugar
                     ..
                     syscall
                     ..
                     sysevent
                     ..
                     tick-n
                     ..
                     trace
                     ..
                     tracemem
                     ..
                     translators
                     ..
                     typedef
                     ..
                     types
                     ..
                     uctf
                     ..
                     union
                     ..
                     usdt
                     ..
                     ustack
                     ..
                     vars
                     ..
                     version
                     ..
                 ..
                 i386
                     arrays
                     ..
                     funcs
                     ..
                     pid
                     ..
                     ustack
                     ..
                 ..
                 amd64
                     arrays
                     ..
                 ..
             ..
             zfsd
             ..
         ..
     ..
     etc
         rc.d
         ..
     ..
     games
     ..
     gnu
         lib
         ..
         usr.bin
             diff
             ..
         ..
     ..
     lib
         atf
             libatf-c
                 detail
                 ..
             ..
             libatf-c++
                 detail
                 ..
             ..
             test-programs
             ..
         ..
         csu
             dynamic
             ..
             dynamiclib
             ..
             static
             ..
         ..
         googletest
             gmock
             ..
             gmock_main
             ..
             gtest
             ..
             gtest_main
             ..
         ..
         libarchive
         ..
         libbe
         ..
         libc
             c063
             ..
             db
             ..
             gen
                 execve
                 ..
                 posix_spawn
                 ..
             ..
             hash
                 data
                 ..
             ..
             iconv
             ..
             inet
             ..
             locale
             ..
             net
                 getaddrinfo
                     data
                     ..
                 ..
             ..
             nss
             ..
             regex
                 data
                 ..
             ..
             resolv
             ..
             rpc
             ..
             ssp
             ..
             setjmp
             ..
             stdio
             ..
             stdlib
             ..
             string
             ..
             sys
             ..
             time
             ..
             tls
                 dso
                 ..
             ..
             termios
             ..
             ttyio
             ..
         ..
         libcam
         ..
         libcasper
             services
                 cap_dns
                 ..
                 cap_grp
                 ..
                 cap_pwd
                 ..
                 cap_sysctl
                 ..
             ..
         ..
         libcrypt
         ..
         libdevdctl
         ..
         libkvm
         ..
         libmp
         ..
         libnv
         ..
         libproc
         ..
         libregex
             data
             ..
         ..
         librt
         ..
         libsbuf
         ..
         libthr
             dlopen
             ..
         ..
         libutil
         ..
         libxo
         ..
         msun
         ..
     ..
     libexec
         atf
             atf-check
             ..
             atf-sh
             ..
         ..
         rtld-elf
         ..
         tftpd
         ..
     ..
     sbin
         bectl
         ..
         dhclient
         ..
         devd
         ..
         growfs
         ..
         ifconfig
         ..
         mdconfig
         ..
         pfctl
             files
             ..
         ..
+        ping
+        ..
     ..
     secure
         lib
         ..
         libexec
         ..
         usr.bin
         ..
         usr.sbin
         ..
     ..
     share
         examples
             tests
                 atf
                 ..
                 googletest
                 ..
                 plain
                 ..
                 tap
                 ..
             ..
         ..
         zoneinfo
         ..
     ..
     sys
         acl
         ..
         aio
         ..
         audit
         ..
         auditpipe
         ..
         capsicum
         ..
         cddl
             zfs
                 bin
                 ..
                 include
                 ..
                 tests
                     acl
                         cifs
                         ..
                         nontrivial
                         ..
                         trivial
                         ..
                     ..
                     atime
                     ..
                     bootfs
                     ..
                     cache
                     ..
                     cachefile
                     ..
                     clean_mirror
                     ..
                     cli_root
                         zfs_upgrade
                         ..
                         zfs_promote
                         ..
                         zfs_clone
                         ..
                         zfs_property
                         ..
                         zfs_destroy
                         ..
                         zpool_create
                         ..
                         zpool_history
                         ..
                         zpool_expand
                         ..
                         zpool_remove
                         ..
                         zfs_mount
                         ..
                         zfs_unshare
                         ..
                         zdb
                         ..
                         zpool_online
                         ..
                         zpool_get
                         ..
                         zpool_export
                         ..
                         zfs_copies
                         ..
                         zfs_get
                         ..
                         zfs
                         ..
                         zpool_clear
                         ..
                         zpool_import
                             blockfiles
                             ..
                         ..
                         zpool
                         ..
                         zpool_offline
                         ..
                         zpool_replace
                         ..
                         zfs_rollback
                         ..
                         zpool_set
                         ..
                         zfs_send
                         ..
                         zfs_set
                         ..
                         zpool_detach
                         ..
                         zfs_diff
                         ..
                         zpool_scrub
                         ..
                         zfs_inherit
                         ..
                         zfs_snapshot
                         ..
                         zfs_share
                         ..
                         zpool_destroy
                         ..
                         zpool_status
                         ..
                         zfs_unmount
                         ..
                         zfs_receive
                         ..
                         zfs_create
                         ..
                         zpool_upgrade
                             blockfiles
                             ..
                         ..
                         zpool_add
                         ..
                         zfs_rename
                         ..
                         zpool_attach
                         ..
                         zfs_reservation
                         ..
                     ..
                     cli_user
                         misc
                         ..
                         zfs_list
                         ..
                         zpool_iostat
                         ..
                         zpool_list
                         ..
                     ..
                     compression
                     ..
                     ctime
                     ..
                     delegate
                     ..
                     devices
                     ..
                     exec
                     ..
                     grow_pool
                     ..
                     grow_replicas
                     ..
                     history
                     ..
                     hotplug
                     ..
                     hotspare
                     ..
                     inheritance
                     ..
                     interop
                     ..
                     inuse
                     ..
                     iscsi
                     ..
                     large_files
                     ..
                     largest_pool
                     ..
                     link_count
                     ..
                     migration
                     ..
                     mmap
                     ..
                     mount
                     ..
                     mv_files
                     ..
                     nestedfs
                     ..
                     no_space
                     ..
                     online_offline
                     ..
                     pool_names
                     ..
                     poolversion
                     ..
                     quota
                     ..
                     redundancy
                     ..
                     refquota
                     ..
                     refreserv
                     ..
                     rename_dirs
                     ..
                     replacement
                     ..
                     reservation
                     ..
                     rootpool
                     ..
                     rsend
                     ..
                     scrub_mirror
                     ..
                     slog
                     ..
                     snapshot
                     ..
                     snapused
                     ..
                     sparse
                     ..
                     threadsappend
                     ..
                     truncate
                     ..
                     txg_integrity
                     ..
                     userquota
                     ..
                     utils_test
                     ..
                     write_dirs
                     ..
                     xattr
                     ..
                     zfsd
                     ..
                     zil
                     ..
                     zinject
                     ..
                     zones
                     ..
                     zvol
                         zvol_ENOSPC
                         ..
                         zvol_cli
                         ..
                         zvol_misc
                         ..
                         zvol_swap
                         ..
                     ..
                     zvol_thrash
                     ..
                 ..
             ..
         ..
         devrandom
         ..
         dtrace
         ..
         fifo
         ..
         file
         ..
         fs
             fusefs
             ..
             tmpfs
             ..
         ..
         geom
             class
                 concat
                 ..
                 eli
                 ..
                 gate
                 ..
                 gpt
                 ..
                 mirror
                 ..
                 nop
                 ..
                 part
                 ..
                 raid3
                 ..
                 shsec
                 ..
                 stripe
                 ..
                 uzip
                     etalon
                     ..
                 ..
             ..
         ..
         kern
             acct
             ..
             execve
             ..
             pipe
             ..
         ..
         kqueue
             libkqueue
             ..
         ..
         mac
             bsdextended
             ..
             portacl
             ..
         ..
         mqueue
         ..
         net
         ..
         netinet
         ..
         netipsec
             tunnel
             ..
         ..
     netmap
     ..
         netpfil
             common
             ..
             pf
                 ioctl
                 ..
             ..
         ..
         opencrypto
         ..
         pjdfstest
             chflags
             ..
             chmod
             ..
             chown
             ..
             ftruncate
             ..
             granular
             ..
             link
             ..
             mkdir
             ..
             mkfifo
             ..
             mknod
             ..
             open
             ..
             rename
             ..
             rmdir
             ..
             symlink
             ..
             truncate
             ..
             unlink
             ..
             utimensat
             ..
         ..
         posixshm
         ..
         sys
         ..
         vfs
         ..
         vm
         ..
     ..
     usr.bin
         apply
         ..
         awk
         ..
         basename
         ..
         bmake
             archives
                 fmt_44bsd
                 ..
                 fmt_44bsd_mod
                 ..
                 fmt_oldbsd
                 ..
             ..
             basic
                 t0
                 ..
                 t1
                 ..
                 t2
                 ..
                 t3
                 ..
             ..
             execution
                 ellipsis
                 ..
                 empty
                 ..
                 joberr
                 ..
                 plus
                 ..
             ..
             shell
                 builtin
                 ..
                 meta
                 ..
                 path
                 ..
                 path_select
                 ..
                 replace
                 ..
                 select
                 ..
             ..
             suffixes
                 basic
                 ..
                 src_wild1
                 ..
                 src_wild2
                 ..
             ..
             syntax
                 directive-t0
                 ..
                 enl
                 ..
                 funny-targets
                 ..
                 semi
                 ..
             ..
             sysmk
                 t0
                     2
                         1
                         ..
                     ..
                     mk
                     ..
                 ..
                 t1
                     2
                         1
                         ..
                     ..
                     mk
                     ..
                 ..
                 t2
                     2
                         1
                         ..
                     ..
                     mk
                     ..
                 ..
             ..
             variables
                 modifier_M
                 ..
                 modifier_t
                 ..
                 opt_V
                 ..
                 t0
                 ..
             ..
         ..
         bsdcat
         ..
         calendar
         ..
         cmp
         ..
         compress
         ..
         cpio
         ..
         col
         ..
         comm
         ..
         csplit
         ..
         cut
         ..
         dc
         ..
         diff
         ..
         dirname
         ..
         du
         ..
         file2c
         ..
         find
         ..
         fold
         ..
         getconf
         ..
         grep
         ..
         gzip
         ..
         head
         ..
         hexdump
         ..
         ident
         ..
         indent
         ..
         join
         ..
         jot
         ..
         lastcomm
         ..
         limits
         ..
         m4
         ..
         mkimg
         ..
         ncal
         ..
         opensm
         ..
         pr
         ..
         printf
         ..
         procstat
         ..
         rs
         ..
         sdiff
         ..
         sed
             regress.multitest.out
             ..
         ..
         seq
         ..
         soelim
         ..
         stat
         ..
         tail
         ..
         tar
         ..
         timeout
         ..
         tr
         ..
         truncate
         ..
         units
         ..
         uudecode
         ..
         uuencode
         ..
         uniq
         ..
         vmstat
         ..
         xargs
         ..
         xinstall
         ..
         xo
         ..
         yacc
             yacc
             ..
         ..
     ..
     usr.sbin
         chown
         ..
         etcupdate
         ..
         extattr
         ..
         fstyp
         ..
         makefs
         ..
         newsyslog
         ..
         nmtree
         ..
         praudit
         ..
         pw
         ..
         rpcbind
         ..
         sa
         ..
     ..
 ..
 
 # vim: set expandtab ts=4 sw=4:
Index: head/sbin/ping/Makefile
===================================================================
--- head/sbin/ping/Makefile	(revision 351317)
+++ head/sbin/ping/Makefile	(revision 351318)
@@ -1,26 +1,29 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/5/93
 # $FreeBSD$
 
 .include <src.opts.mk>
 
 PACKAGE=runtime
 PROG=	ping
 SRCS=	ping.c utils.c
 MAN=	ping.8
 BINOWN=	root
 BINMODE=4555
 WARNS?=	3
 LIBADD=	m
 
 .if ${MK_DYNAMICROOT} == "no"
 .warning ${PROG} built without libcasper support
 .elif ${MK_CASPER} != "no" && !defined(RESCUE)
 LIBADD+=	casper
 LIBADD+=	cap_dns
 CFLAGS+=-DWITH_CASPER
 .endif
 
 CFLAGS+=-DIPSEC
 LIBADD+=	ipsec
 
+HAS_TESTS=
+SUBDIR.${MK_TESTS}+= tests
+
 .include <bsd.prog.mk>
Index: head/sbin/ping/tests/Makefile
===================================================================
--- head/sbin/ping/tests/Makefile	(nonexistent)
+++ head/sbin/ping/tests/Makefile	(revision 351318)
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+WARNS?=	6
+
+ATF_TESTS_C+=	in_cksum_test
+SRCS.in_cksum_test= in_cksum_test.c ../utils.c
+
+.include <bsd.test.mk>

Property changes on: head/sbin/ping/tests/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: head/sbin/ping/tests/in_cksum_test.c
===================================================================
--- head/sbin/ping/tests/in_cksum_test.c	(nonexistent)
+++ head/sbin/ping/tests/in_cksum_test.c	(revision 351318)
@@ -0,0 +1,146 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
+ * Copyright (C) 2019 Jan Sucan <jansucan@FreeBSD.org>
+ * 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 AUTHOR 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 AUTHOR 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+
+#include <atf-c.h>
+
+#include "../utils.h"
+
+/*
+ * Test cases.
+ */
+
+ATF_TC_WITHOUT_HEAD(aligned_even_length_big_endian);
+ATF_TC_BODY(aligned_even_length_big_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x12, 0x34, 0x56, 0x78};
+	u_short sum;
+
+	sum = in_cksum(data, nitems(data));
+	ATF_REQUIRE(sum == 0x5397);
+}
+
+ATF_TC_WITHOUT_HEAD(aligned_odd_length_big_endian);
+ATF_TC_BODY(aligned_odd_length_big_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x12, 0x34, 0x56, 0x78, 0x9a};
+	u_short sum;
+
+	sum = in_cksum(data, nitems(data));
+	ATF_REQUIRE(sum == 0x52fd);
+}
+
+ATF_TC_WITHOUT_HEAD(aligned_even_length_little_endian);
+ATF_TC_BODY(aligned_even_length_little_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x34, 0x12, 0x78, 0x56};
+	u_short sum;
+
+	sum = in_cksum(data, nitems(data));
+	ATF_REQUIRE_MSG(sum == 0x9753, "%d", sum);
+}
+
+ATF_TC_WITHOUT_HEAD(aligned_odd_length_little_endian);
+ATF_TC_BODY(aligned_odd_length_little_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x34, 0x12, 0x78, 0x56, 0x00, 0x9a};
+	u_short sum;
+
+	sum = in_cksum(data, nitems(data));
+	ATF_REQUIRE(sum == 0xfd52);
+}
+
+ATF_TC_WITHOUT_HEAD(unaligned_even_length_big_endian);
+ATF_TC_BODY(unaligned_even_length_big_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x00, 0x12, 0x34, 0x56, 0x78};
+	u_short sum;
+
+	sum = in_cksum(data + 1, nitems(data) - 1);
+	ATF_REQUIRE(sum == 0x5397);
+}
+
+ATF_TC_WITHOUT_HEAD(unaligned_odd_length_big_endian);
+ATF_TC_BODY(unaligned_odd_length_big_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x00, 0x12, 0x34, 0x56, 0x78, 0x9a};
+	u_short sum;
+
+	sum = in_cksum(data + 1, nitems(data) - 1);
+	ATF_REQUIRE(sum == 0x52fd);
+}
+
+ATF_TC_WITHOUT_HEAD(unaligned_even_length_little_endian);
+ATF_TC_BODY(unaligned_even_length_little_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x00, 0x34, 0x12, 0x78, 0x56};
+	u_short sum;
+
+	sum = in_cksum(data + 1, nitems(data) - 1);
+	ATF_REQUIRE_MSG(sum == 0x9753, "%d", sum);
+}
+
+ATF_TC_WITHOUT_HEAD(unaligned_odd_length_little_endian);
+ATF_TC_BODY(unaligned_odd_length_little_endian, tc)
+{
+	u_char data[] __aligned(sizeof(u_short)) =
+		{0x00, 0x34, 0x12, 0x78, 0x56, 0x00, 0x9a};
+	u_short sum;
+
+	sum = in_cksum(data + 1, nitems(data) - 1);
+	ATF_REQUIRE(sum == 0xfd52);
+}
+
+/*
+ * Main.
+ */
+
+ATF_TP_ADD_TCS(tp)
+{
+	ATF_TP_ADD_TC(tp, aligned_even_length_big_endian);
+	ATF_TP_ADD_TC(tp, aligned_odd_length_big_endian);
+	ATF_TP_ADD_TC(tp, aligned_even_length_little_endian);
+	ATF_TP_ADD_TC(tp, aligned_odd_length_little_endian);
+	ATF_TP_ADD_TC(tp, unaligned_even_length_big_endian);
+	ATF_TP_ADD_TC(tp, unaligned_odd_length_big_endian);
+	ATF_TP_ADD_TC(tp, unaligned_even_length_little_endian);
+	ATF_TP_ADD_TC(tp, unaligned_odd_length_little_endian);
+
+	return (atf_no_error());
+}

Property changes on: head/sbin/ping/tests/in_cksum_test.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property