# Tests for ob_parse_changelog() # # Copyright (C) 2018, 2019 Patrick McDermott # # This file is part of opkbuild. # # opkbuild 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. # # opkbuild 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 opkbuild. If not, see . set -eu . "${TOP_SRCDIR}/tests/aux/tap-functions.sh" . "${TOP_SRCDIR}/tests/aux/common.sh" . "${TOP_BUILDDIR}/lib/libopkbuild.${SHSOEXT}.${LIBOPKBUILD_SHSOVERSION}" CHANGELOG='\ bar (4) dev * Non-maintainer upload. Rename package and upload elsewhere. -- "K. Random Hacker" Sun, 04 Jan 1970 00:00:00 +0000 foo (3) trunk * Frobnicate foos. * Break all the things. -- "J. Random Hacker" Sat, 03 Jan 1970 00:00:00 +0000 foo (2) trunk * Reticulated splines. -- "J. Random Hacker" Fri, 02 Jan 1970 00:00:00 +0000 foo (1) trunk * Initial release. -- "J. Random Hacker" Thu, 01 Jan 1970 00:00:00 +0000 ' plan_ 19 entry=0 entry_1() { local source="${1}" local version="${2}" local distribution="${3}" local changes="${4}" local maintainer="${5}" local date="${6}" shift 6 is 'source' "${source}" 'bar' is 'version' "${version}" '4' is 'distribution' "${distribution}" 'dev' is 'changes' "${changes}" "$(cat <<-EOF bar (4) dev * Non-maintainer upload. Rename package and upload elsewhere. EOF )" is 'maintainer' "${maintainer}" \ '"K. Random Hacker" ' is 'date' "${date}" 'Sun, 04 Jan 1970 00:00:00 +0000' return 0 } entry_2() { local source="${1}" local version="${2}" local distribution="${3}" local changes="${4}" local maintainer="${5}" local date="${6}" shift 6 is 'source' "${source}" 'foo' is 'version' "${version}" '3' is 'distribution' "${distribution}" 'trunk' is 'changes' "${changes}" "$(cat <<-EOF foo (3) trunk * Frobnicate foos. * Break all the things. EOF )" is 'maintainer' "${maintainer}" \ '"J. Random Hacker" ' is 'date' "${date}" 'Sat, 03 Jan 1970 00:00:00 +0000' return 0 } entry_3() { local source="${1}" local version="${2}" local distribution="${3}" local changes="${4}" local maintainer="${5}" local date="${6}" shift 6 is 'source' "${source}" 'foo' is 'version' "${version}" '2' is 'distribution' "${distribution}" 'trunk' is 'changes' "${changes}" "$(cat <<-EOF foo (2) trunk * Reticulated splines. EOF )" is 'maintainer' "${maintainer}" \ '"J. Random Hacker" ' is 'date' "${date}" 'Fri, 02 Jan 1970 00:00:00 +0000' return 1 } entry_4() { : This should not be reached. } entry_cb() { entry=$((${entry} + 1)) "entry_${entry}" "${@}" } ob_parse_changelog - entry_cb <<-EOF ${CHANGELOG} EOF is 'number of parsed entries' "${entry}" 3