On Thu, 2015-12-10 at 13:51 +0000, Ian Jackson wrote:
> There is a fair amount of option parsing clobber here that will be
> relevant shortly.

How dangerous is this script if you just run it e.g. without with_test?

Specifically, would it nuke an existing database?

> 
> Signed-off-by: Ian Jackson <ian.jack...@eu.citrix.com>
> ---
>  mg-schema-create        |   61
> +++++++++++++++++++++++++++++++++++++++++++++++
>  mg-schema-test-database |    2 +-
>  2 files changed, 62 insertions(+), 1 deletion(-)
>  create mode 100755 mg-schema-create
> 
> diff --git a/mg-schema-create b/mg-schema-create
> new file mode 100755
> index 0000000..54f1c76
> --- /dev/null
> +++ b/mg-schema-create
> @@ -0,0 +1,61 @@
> +#!/bin/bash
> +
> +# This is part of "osstest", an automated testing framework for Xen.
> +# Copyright (C) 2009-2015 Citrix Inc.
> +# 
> +# This program is free software: you can redistribute it and/or modify
> +# it under the terms of the GNU Affero General Public License as
> published by
> +# the Free Software Foundation, either version 3 of the License, or
> +# (at your option) any later version.
> +# 
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU Affero General Public License for more details.
> +# 
> +# You should have received a copy of the GNU Affero General Public
> License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +
> +
> +# Usages:
> +#
> +#  ./mg-schema-create [<options>]
> +#
> +#  Database must already exist.  (Ie, mg-schema-create does not
> +#  do CREATE DATABASE.)
> +#
> +#  When setting up a production database, mg-schema-create should
> +#  be run *AS THE ROLE USER* who is to own all the resources.
> +#
> +# Options:
> +#
> +#  -q                            don't print progress messages
> +
> +set -e
> +set -o posix
> +set -o pipefail
> +
> +progress () { printf "%s\n" "$*"; }
> +progress=progress
> +quietopt=''
> +
> +while [ $# != 0 ]; do
> +    arg=$1; shift
> +    case "$arg" in
> +    -q)
> +        progress=:
> +        quietopt=-q
> +        ;;
> +    *)
> +        echo >&2 "bad usage ($arg)"; exit 127
> +        ;;
> +    esac
> +done
> +
> +. ./cri-getconfig
> +
> +$progress "Populating database..."
> +
> +$(get_psql_cmd) $quietopt -f schema/initial.sql
> +
> +$progress "Database set up."
> diff --git a/mg-schema-test-database b/mg-schema-test-database
> index c68b1d2..3616c4d 100755
> --- a/mg-schema-test-database
> +++ b/mg-schema-test-database
> @@ -391,7 +391,7 @@ END
>       psql_do <<END
>               CREATE DATABASE $dbname;
>  END
> -     $(withtest get_psql_cmd) -q -f schema/initial.sql
> +     withtest ./mg-schema-create -q
>  
>       printf ".\n"
>  

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to