coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Splitting search results from a "find -print0"


From: Bernhard Voelker
Subject: Re: Splitting search results from a "find -print0"
Date: Sat, 10 Jan 2015 17:58:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

On 01/09/2015 01:29 PM, Pádraig Brady wrote:
> --- /dev/null
> +++ b/tests/split/lines-sep.sh
> @@ -0,0 +1,78 @@
> +#!/bin/sh
> +# test split with custom record separators
> +
> +# Copyright (C) 2015 Free Software Foundation, Inc.
> +
> +# This program is free software: you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation, either version 3 of the License, or
> +# (at your option) any later version.
> +
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +
> +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
> +print_ver_ split
> +
> +NL='
> +'
> +
> +for sep in "$NL" '\0' ':'; do
> +
> +  test "$sep" = "$NL" && tr='\n' || tr="$sep"
> +
> +  for mode in '--lines=2' '--line-bytes=4' '--number=l/3' '--number=r/3'; do
> +
> +    # Generate in default mode for comparison
> +    printf '1\n2\n3\n4\n5\n' > in || framework_failure_
> +    split $mode in || return 1
> +    tr '\n' "$tr" < xaa > exp1
> +    tr '\n' "$tr" < xab > exp2
> +    tr '\n' "$tr" < xac > exp3
> +
> +    rm -f x??
> +
> +    # Generate output with specified --separator
> +    printf '1\n2\n3\n4\n5\n' | tr '\n' "$tr" > in || framework_failure_
> +    split $mode -t "$sep" in || return 1
> +
> +    compare exp1 xaa || return 1
> +    compare exp2 xab || return 1
> +    compare exp3 xac || return 1
> +    test -f xad && return 1

s/return 1/fail=1/

...interestingly, such syntax failure wouldn't have shown up in the test result:

  + return 1
  ./tests/split/lines-sep.sh: line ??: return: can only `return' from a 
function or sourced script

Otherwise +1, Nice work!
... last question: shouldn't "split --bytes=123 --separator=X"
return an error like "uncompatible options"?

Have a nice day,
Berny



reply via email to

[Prev in Thread] Current Thread [Next in Thread]