Add a script to test MBS in fedora-stg.

It does a little exercise... and it works!  Used today to test
mbs-1.4.1.  We can probably expand on this later to add other tests as
we like.
This commit is contained in:
Ralph Bean
2017-11-02 14:49:20 -04:00
parent 3d687b9a59
commit 960ff1c4f3

View File

@@ -0,0 +1,43 @@
#!/bin/bash -xe
which fedpkg-stage || (echo "sudo dnf install fedpkg-stage" && exit 1)
which jq || (echo "sudo dnf install jq" && exit 1)
FAS=$USER
rm -rf /var/tmp/mbs-test
mkdir /var/tmp/mbs-test
cd /var/tmp/mbs-test
git clone ssh://$FAS@pkgs.stg.fedoraproject.org/rpms/perl-List-Compare
git clone ssh://$FAS@pkgs.stg.fedoraproject.org/modules/testmodule
cd perl-List-Compare
git commit --allow-empty -m "Empty test commit, for MBS in staging."
git push origin master
cd ../testmodule
git commit --allow-empty -m "Empty test commit, for MBS in staging."
git push origin master
build_id=$(fedpkg-stage module-build --optional rebuild_strategy=only-changed | tail -1 | awk '{ print $3 }' | cut -c 2-)
echo "Working with module build $build_id"
fedpkg-stage module-build-watch $build_id
url=https://mbs.stg.fedoraproject.org/module-build-service/1/module-builds/$build_id
state=$(curl $url | jq '.state')
if [ "$state" -ne "5" ]; then
echo "module build state for #$build_id was $state"; exit 1;
fi
actual_task_id_1=$(curl $url | jq '.tasks.rpms."perl-List-Compare".task_id')
actual_task_id_2=$(curl $url | jq '.tasks.rpms."perl-Tangerine".task_id')
actual_task_id_3=$(curl $url | jq '.tasks.rpms.tangerine.task_id')
if [ "$actual_task_id_1" -eq "90920002" ]; then
echo "perl-List-Compare task id was the same as before. It was re-used! Incorrect."; exit 1;
fi
if [ "$actual_task_id_2" -ne "90920003" ]; then
echo "perl-Tangerine task id was NOT the same as before. It was not reused, but should have been."; exit 1;
fi
if [ "$actual_task_id_3" -ne "90919823" ]; then
echo "tangerine task id was NOT the same as before. It was not reused, but should have been."; exit 1;
fi
echo "HOORAY! It worked.. I think."