Skip to content
  • René Scharfe's avatar
    t1002: stop using sum(1) · 70ec6bd6
    René Scharfe authored and Junio C Hamano's avatar Junio C Hamano committed
    sum(1) is a command for calculating checksums of the contents of files.
    It was part of early editions of Unix ("Research Unix", 1972/1973, [1]).
    cksum(1) appeared in 4.4BSD (1993) as a replacement [2], and became part
    of POSIX.1-2008 [3].  OpenBSD 5.6 (2014) removed sum(1).
    
    We only use sum(1) in t1002 to check for changes in three files.  On
    MinGW we use md5sum(1) instead.  We could switch to the standard command
    cksum(1) for all platforms; MinGW comes with GNU coreutils now, which
    provides sum(1), cksum(1) and md5sum(1).  Use our standard method for
    checking for file changes instead: test_cmp.
    
    It's more convenient because it shows differences nicely, it's faster on
    MinGW because we have a special implementation there based only on
    shell-internal commands, it's simpler as it allows us to avoid stripping
    out unnecessary entries from the checksum file using grep(1), and it's
    more consistent with the rest of the test suite.
    
    We already compare changed files with their expected new contents using
    diff(1), so we don't need to check with "test_must_fail test_cmp" if
    they differ from their original state.  A later patch could convert the
    direct diff(1) calls to test_cmp as well.
    
    With all sum(1) calls gone, remove the MinGW-specific implementation
    from test-lib.sh as well.
    
    [1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man1/sum.1
    [2] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/share/man/cat1/cksum.0
    [3] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cksum.html
    
    
    
    Signed-off-by: default avatarRené Scharfe <l.s.r@web.de>
    Reviewed-by: default avatarJohannes Sixt <j6t@kdbg.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    70ec6bd6