lucene/solr/docker/tests/cases/version/test.sh

46 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
#
set -euo pipefail
TEST_DIR="${TEST_DIR:-$(dirname -- "${BASH_SOURCE[0]}")}"
source "${TEST_DIR}/../../shared.sh"
echo "Running $container_name"
docker run --name "$container_name" -d "$tag"
wait_for_server_started "$container_name"
echo "Checking that the OS matches the tag '$tag'"
if echo "$tag" | grep -q -- -alpine; then
alpine_version=$(docker exec --user=solr "$container_name" cat /etc/alpine-release || true)
if [[ -z $alpine_version ]]; then
echo "Could not get alpine version from container $container_name"
container_cleanup "$container_name"
exit 1
fi
echo "Alpine $alpine_version"
else
debian_version=$(docker exec --user=solr "$container_name" cat /etc/debian_version || true)
if [[ -z $debian_version ]]; then
echo "Could not get debian version from container $container_name"
container_cleanup "$container_name"
exit 1
fi
echo "Debian $debian_version"
fi
# check that the version of Solr matches the tag
changelog_version=$(docker exec --user=solr "$container_name" bash -c "grep -E '^==========* ' /opt/solr/CHANGES.txt | head -n 1 | tr -d '= '")
echo "Solr version $changelog_version"
solr_version_from_tag=$(echo "$tag" | sed -e 's/^.*://' -e 's/-.*//')
if [[ $changelog_version != "$solr_version_from_tag" ]]; then
echo "Solr version mismatch"
container_cleanup "$container_name"
exit 1
fi
container_cleanup "$container_name"
echo "Test $TEST_NAME $tag succeeded"