2017-07-20 22:26:42 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -ex
|
2017-05-05 19:19:05 +00:00
|
|
|
|
|
|
|
# run s3-tests from current directory. assume working
|
|
|
|
# ceph environment (radosgw-admin in path) and rgw on localhost:8000
|
|
|
|
# (the vstart default).
|
|
|
|
|
|
|
|
branch=$1
|
|
|
|
[ -z "$1" ] && branch=master
|
|
|
|
port=$2
|
|
|
|
[ -z "$2" ] && port=8000 # this is vstart's default
|
|
|
|
|
|
|
|
##
|
|
|
|
|
2017-05-19 15:25:20 +00:00
|
|
|
if [ -e CMakeCache.txt ]; then
|
|
|
|
BIN_PATH=$PWD/bin
|
|
|
|
elif [ -e $root_path/../build/CMakeCache.txt ]; then
|
|
|
|
cd $root_path/../build
|
|
|
|
BIN_PATH=$PWD/bin
|
|
|
|
fi
|
|
|
|
PATH=$PATH:$BIN_PATH
|
|
|
|
|
2017-05-05 19:19:05 +00:00
|
|
|
dir=tmp.s3-tests.$$
|
|
|
|
|
|
|
|
# clone and bootstrap
|
|
|
|
mkdir $dir
|
|
|
|
cd $dir
|
|
|
|
git clone https://github.com/ceph/s3-tests
|
|
|
|
cd s3-tests
|
|
|
|
git checkout ceph-$branch
|
2017-05-19 15:25:20 +00:00
|
|
|
VIRTUALENV_PYTHON=/usr/bin/python2 ./bootstrap
|
2017-05-05 19:19:05 +00:00
|
|
|
cd ../..
|
|
|
|
|
|
|
|
# users
|
|
|
|
akey1=access1
|
|
|
|
skey1=secret1
|
|
|
|
radosgw-admin user create --uid=s3test1 --display-name='tester1' \
|
|
|
|
--access-key=$akey1 --secret=$skey1 --email=tester1@ceph.com
|
|
|
|
|
|
|
|
akey2=access2
|
|
|
|
skey2=secret2
|
|
|
|
radosgw-admin user create --uid=s3test2 --display-name='tester2' \
|
2017-05-19 15:25:20 +00:00
|
|
|
--access-key=$akey2 --secret=$skey2 --email=tester2@ceph.com
|
2017-05-05 19:19:05 +00:00
|
|
|
|
|
|
|
cat <<EOF > s3.conf
|
|
|
|
[DEFAULT]
|
|
|
|
## replace with e.g. "localhost" to run against local software
|
|
|
|
host = 127.0.0.1
|
|
|
|
## uncomment the port to use something other than 80
|
|
|
|
port = $port
|
|
|
|
## say "no" to disable TLS
|
|
|
|
is_secure = no
|
|
|
|
[fixtures]
|
|
|
|
## all the buckets created will start with this prefix;
|
|
|
|
## {random} will be filled with random characters to pad
|
|
|
|
## the prefix to 30 characters long, and avoid collisions
|
|
|
|
bucket prefix = s3testbucket-{random}-
|
|
|
|
[s3 main]
|
|
|
|
## the tests assume two accounts are defined, "main" and "alt".
|
|
|
|
## user_id is a 64-character hexstring
|
|
|
|
user_id = s3test1
|
|
|
|
## display name typically looks more like a unix login, "jdoe" etc
|
|
|
|
display_name = tester1
|
|
|
|
## replace these with your access keys
|
|
|
|
access_key = $akey1
|
|
|
|
secret_key = $skey1
|
|
|
|
email = tester1@ceph.com
|
|
|
|
[s3 alt]
|
|
|
|
## another user account, used for ACL-related tests
|
|
|
|
user_id = s3test2
|
|
|
|
display_name = tester2
|
|
|
|
## the "alt" user needs to have email set, too
|
|
|
|
email = tester2@ceph.com
|
|
|
|
access_key = $akey2
|
|
|
|
secret_key = $skey2
|
|
|
|
EOF
|
|
|
|
|
|
|
|
S3TEST_CONF=`pwd`/s3.conf $dir/s3-tests/virtualenv/bin/nosetests -a '!fails_on_rgw' -v
|
|
|
|
|
|
|
|
rm -rf $dir
|
|
|
|
|
|
|
|
echo OK.
|
|
|
|
|