diff options
author | Amadeusz Żołnowski <aidecoe@gentoo.org> | 2016-05-18 23:29:46 +0100 |
---|---|---|
committer | Amadeusz Żołnowski <aidecoe@gentoo.org> | 2016-05-22 23:06:16 +0100 |
commit | 1c09a26ff45d4da33f9efce2950925ee917c9e0b (patch) | |
tree | 4e4f0745eb331c0b382534fb54ff7b8d4c64973e /eclass/tests/rebar_set_vsn.sh | |
parent | app-portage/repoman: Add missed lxml dep for the 9999 ebuild (diff) | |
download | gentoo-1c09a26ff45d4da33f9efce2950925ee917c9e0b.tar.gz gentoo-1c09a26ff45d4da33f9efce2950925ee917c9e0b.tar.bz2 gentoo-1c09a26ff45d4da33f9efce2950925ee917c9e0b.zip |
rebar.eclass: Build Erlang/OTP projects using dev-util/rebar
It is an eclass providing functions to build Erlang/OTP projects using
dev-util/rebar. All packages in upcoming category dev-erlang are going
to use this eclass.
Diffstat (limited to 'eclass/tests/rebar_set_vsn.sh')
-rwxr-xr-x | eclass/tests/rebar_set_vsn.sh | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/eclass/tests/rebar_set_vsn.sh b/eclass/tests/rebar_set_vsn.sh new file mode 100755 index 000000000000..2a9f5bc92777 --- /dev/null +++ b/eclass/tests/rebar_set_vsn.sh @@ -0,0 +1,115 @@ +#!/bin/bash +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +source tests-common.sh + +EAPI=6 + +inherit rebar + +EPREFIX="${tmpdir}/fakeroot" +S="${WORKDIR}/${P}" + +setup() { + mkdir -p "${S}/src" || die + + cat <<EOF >"${S}/app.src.expected" || die +%%% Comment + +{application, esip, + [{description, "ProcessOne SIP server component in Erlang"}, + {vsn, "0"}, + {modules, []}, + {registered, []}, +EOF + + cat <<EOF >"${S}/app.src" || die +%%% Comment + +{application, esip, + [{description, "ProcessOne SIP server component in Erlang"}, + {vsn, git}, + {modules, []}, + {registered, []}, +EOF +} + +test_typical_app_src() { + local diff_rc + local unit_rc + + # Prepare + cd "${S}" || die + cp app.src "src/${PN}.app.src" || die + + # Run unit + (rebar_set_vsn) + unit_rc=$? + + # Test result + diff "src/${PN}.app.src" app.src.expected + diff_rc=$? + + [[ ${unit_rc}${diff_rc} = 00 ]] +} + +test_app_src_missing() { + local unit_rc + + # Prepare + cd "${S}" || die + rm -f "src/${PN}.app.src" || die + + # Run unit + (rebar_set_vsn 2>/dev/null) + unit_rc=$? + + [[ ${unit_rc} = 1 ]] +} + +test_set_custom_version() { + local diff_rc + local unit_rc + + # Prepare + cd "${S}" || die + cp app.src "src/${PN}.app.src" || die + cat <<EOF >"${S}/custom_app.src.expected" || die +%%% Comment + +{application, esip, + [{description, "ProcessOne SIP server component in Erlang"}, + {vsn, "1.2.3"}, + {modules, []}, + {registered, []}, +EOF + + # Run unit + (rebar_set_vsn 1.2.3) + unit_rc=$? + + # Test result + diff "src/${PN}.app.src" custom_app.src.expected + diff_rc=$? + + [[ ${unit_rc}${diff_rc} = 00 ]] +} + + +setup + +tbegin "rebar_set_vsn deals with typical app.src" +test_typical_app_src +tend $? + +tbegin "rebar_set_vsn fails when app.src is missing" +test_app_src_missing +tend $? + +tbegin "rebar_set_vsn sets custom version in app.src" +test_set_custom_version +tend $? + +texit |