1*48b64419SConrad Meyer# Copyright (c) 2017 Conrad Meyer <cem@FreeBSD.org> 2*48b64419SConrad Meyer# All rights reserved. 3*48b64419SConrad Meyer# 4*48b64419SConrad Meyer# Redistribution and use in source and binary forms, with or without 5*48b64419SConrad Meyer# modification, are permitted provided that the following conditions 6*48b64419SConrad Meyer# are met: 7*48b64419SConrad Meyer# 1. Redistributions of source code must retain the above copyright 8*48b64419SConrad Meyer# notice, this list of conditions and the following disclaimer. 9*48b64419SConrad Meyer# 2. Redistributions in binary form must reproduce the above copyright 10*48b64419SConrad Meyer# notice, this list of conditions and the following disclaimer in the 11*48b64419SConrad Meyer# documentation and/or other materials provided with the distribution. 12*48b64419SConrad Meyer# 13*48b64419SConrad Meyer# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14*48b64419SConrad Meyer# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*48b64419SConrad Meyer# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*48b64419SConrad Meyer# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17*48b64419SConrad Meyer# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*48b64419SConrad Meyer# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*48b64419SConrad Meyer# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*48b64419SConrad Meyer# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*48b64419SConrad Meyer# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*48b64419SConrad Meyer# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*48b64419SConrad Meyer# SUCH DAMAGE. 24*48b64419SConrad Meyer# 25*48b64419SConrad Meyer 26*48b64419SConrad Meyeratf_test_case lines_lt_count 27*48b64419SConrad Meyerlines_lt_count_head() 28*48b64419SConrad Meyer{ 29*48b64419SConrad Meyer atf_set "descr" \ 30*48b64419SConrad Meyer "Test an edge case where input has fewer lines than count" 31*48b64419SConrad Meyer} 32*48b64419SConrad Meyerlines_lt_count_body() 33*48b64419SConrad Meyer{ 34*48b64419SConrad Meyer cat > expectfile00 << HERE 35*48b64419SConrad Meyerone 36*48b64419SConrad Meyertwo 37*48b64419SConrad MeyerHERE 38*48b64419SConrad Meyer cat > expectfile01 << HERE 39*48b64419SConrad Meyerxxx 1 40*48b64419SConrad Meyerthree 41*48b64419SConrad Meyerfour 42*48b64419SConrad MeyerHERE 43*48b64419SConrad Meyer cat > expectfile02 << HERE 44*48b64419SConrad Meyerxxx 2 45*48b64419SConrad Meyerfive 46*48b64419SConrad Meyersix 47*48b64419SConrad MeyerHERE 48*48b64419SConrad Meyer echo -e "one\ntwo\nxxx 1\nthree\nfour\nxxx 2\nfive\nsix" | \ 49*48b64419SConrad Meyer csplit -k - '/xxx/' '{10}' 50*48b64419SConrad Meyer 51*48b64419SConrad Meyer atf_check cmp expectfile00 xx00 52*48b64419SConrad Meyer atf_check cmp expectfile01 xx01 53*48b64419SConrad Meyer atf_check cmp expectfile02 xx02 54*48b64419SConrad Meyer} 55*48b64419SConrad Meyer 56*48b64419SConrad Meyeratf_init_test_cases() 57*48b64419SConrad Meyer{ 58*48b64419SConrad Meyer atf_add_test_case lines_lt_count 59*48b64419SConrad Meyer} 60