diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2014-10-17 13:12:23 +0200 |
---|---|---|
committer | Pavel Raiskup <praiskup@redhat.com> | 2014-10-17 13:36:04 +0200 |
commit | cfbbf52a744d0ce7ebcca49702924c6df7d6428c (patch) | |
tree | 644e51c2bff4448768d7b80d7ea10086ce81e75f | |
parent | da115e5b4e306e107ec3193192d847bcffc5feec (diff) | |
download | postgresql-setup-tests-cfbbf52a744d0ce7ebcca49702924c6df7d6428c.tar.gz postgresql-setup-tests-cfbbf52a744d0ce7ebcca49702924c6df7d6428c.tar.xz postgresql-setup-tests-cfbbf52a744d0ce7ebcca49702924c6df7d6428c.zip |
gen-data/tasks: add new 'locale-cz' task
This data should help with checking of 'postgresql --upgrade'
behavior when the system locale changed significantly (from
en_US.UTF-8 to cs_CZ.utf8).
* gen-data/tasks/locale-cz/run.sh: New task file.
* gen-data/generate (locale_prereq): Fix missing LANG= prefix in
expected locale. Quote current/expected locale strings in error
output.
(single_task): Adjust $INDENT in sub-shell to not affect
subsequent calls. Create tarball in $OUTPUTDIR rather than in
`pwd`. Introduce hook_end callback.
(generate_tasks): Use dynamic list of tasks.
-rwxr-xr-x | gen-data/generate | 18 | ||||
-rw-r--r-- | gen-data/tasks/locale-cz/run.sh | 18 |
2 files changed, 31 insertions, 5 deletions
diff --git a/gen-data/generate b/gen-data/generate index bf9cce3..d8ead6b 100755 --- a/gen-data/generate +++ b/gen-data/generate @@ -2,6 +2,7 @@ GEN_DATADIR=/var/lib/pgsql/data CACHEDIR=/var/cache/dbt +OUTPUTDIR="$(pwd)/results" SRCDIR="$(pwd)" DEBUG=1 CHECK_LOCALE=1 @@ -48,10 +49,10 @@ run_if_defined() locale_prereq() { - local default_locale="en_US.UTF-8" + local default_locale="LANG=en_US.UTF-8" local current_locale="$(cat /etc/locale.conf)" test "$current_locale" = "$default_locale" \ - || die "bad locale $current_locale, should be $default_locale" + || die "bad locale '$current_locale', should be '$default_locale'" } single_task() @@ -59,9 +60,9 @@ single_task() local task="$1" info "running task $task" - INDENT=" " ( + INDENT=" " . "$SRCDIR/databases/pagila.sh" || die "pagila incl fail" . "$SRCDIR/$task" || die "include fail" @@ -87,25 +88,32 @@ single_task() debug "stopping server" service postgresql stop &>/dev/null || die "can't stop postgresql" - tarball="$(pwd)/$task_name.tar.gz" + tarball="$OUTPUTDIR/$task_name.tar.gz" tar -czf "$tarball" -C /var/lib/pgsql/ data info "result tarball $tarball" rm -rf "$tmpdir" + debug "data removal" rm -rf "$GEN_DATADIR" + + run_if_defined "hook_end" ) } generate_tasks() { - single_task tasks/basic/run.sh + find ./tasks -name run.sh | while read line; do + single_task "$line" + done } main() { test "$UID" -ne 0 && die "run under 'root' user" + test -d "$OUTPUTDIR" || die "$OUTPUTDIR does not seem to be directory" + service postgresql status &>/dev/null test $? -ne 3 && die "stop the postgresql server" diff --git a/gen-data/tasks/locale-cz/run.sh b/gen-data/tasks/locale-cz/run.sh new file mode 100644 index 0000000..12f0a48 --- /dev/null +++ b/gen-data/tasks/locale-cz/run.sh @@ -0,0 +1,18 @@ +export task_name="cz-locale" + +hook_start() +{ + export CHECK_LOCALE=0 + ___old_locale="$(cat /etc/locale.conf)" + echo "LANG=cs_CZ.UTF-8" > /etc/locale.conf +} + +hook_end() +{ + echo "$___old_locale" > /etc/locale.conf +} + +run() +{ + create_pagila +} |