Просмотр исходного кода

test changelogs locally instead of depending on an online service

David Kalnischkies лет назад: 15
Родитель
Сommit
1384504286
2 измененных файлов с 16 добавлено и 21 удалено
  1. 3 0
      test/integration/framework
  2. 13 21
      test/integration/test-changelog

+ 3 - 0
test/integration/framework

@@ -272,6 +272,9 @@ Package: $NAME" > ${BUILDDIR}/debian/control
 	for SRC in $SRCS; do
 		echo "pool/${SRC}" >> ${BUILDDIR}/../${RELEASE}.${DISTSECTION}.srclist
 	done
+	mkdir -p ${BUILDDIR}/../${NAME}_${VERSION}
+	cp ${BUILDDIR}/debian/changelog ${BUILDDIR}/../${NAME}_${VERSION}/
+	cp ${BUILDDIR}/debian/changelog ${BUILDDIR}/../${NAME}_${VERSION}.changelog
 	rm -rf "${BUILDDIR}"
 	msgdone "info"
 }

+ 13 - 21
test/integration/test-changelog

@@ -7,28 +7,20 @@ TESTDIR=$(readlink -f $(dirname $0))
 setupenvironment
 configarchitecture "i386"
 
-# this will be valid until ubuntu lucid is EOL (04/2015)
-pkgchangelogtest="Package: apt
-Architecture: i386
-Version: 0.7.25.3ubuntu7
-Filename: pool/main/a/apt/apt_0.7.25.3ubuntu7_i386.deb
-Section: admin
-"
-cat <<-EOF >aptarchive/Packages
-$pkgchangelogtest
-EOF
+buildsimplenativepackage 'apt' 'all' '1.0' 'stable'
 
 setupaptarchive
+changetowebserver
+aptget update -qq
 
-echo "Apt::Changelogs::Server \"http://changelogs.ubuntu.com/\";" >> ./aptconfig.conf
-msgnmsg "apt-get changelog: "
-aptget changelog apt -qq > downloaded-changelog
-expected="apt (0.7.25.3ubuntu7) lucid; urgency=low"
-got="$(head -n1 downloaded-changelog)"
-if [ -s downloaded-changelog ] && [ "$got" = "$expected" ]; then
-    msgpass
-else
-    msgfail 
-    msgwarn "$got != $expected"
-fi
+echo 'Apt::Changelogs::Server "http://localhost:8080/";' >> ./aptconfig.conf
 
+aptget changelog apt -qq > apt.changelog
+testfileequal 'apt.changelog' "$(cat aptarchive/pool/apt_1.0/changelog)"
+rm aptarchive/pool/apt_1.0/changelog
+
+aptget changelog apt -qq -o APT::Changelogs::Server='http://not-on-the-main-server:8080/' > apt.changelog
+testfileequal 'apt.changelog' "$(cat aptarchive/pool/apt_1.0.changelog)"
+rm aptarchive/pool/apt_1.0.changelog
+
+testequal 'E: changelog download failed' aptget changelog apt -qq -o APT::Changelogs::Server='http://not-on-the-main-server:8080/'