Some script improvements (#2654)

- Allow specifying which packages should be tested
- Hardcode `lemmy` as db password because thats used in many different places
This commit is contained in:
Nutomic 2023-01-13 00:23:58 +01:00 committed by GitHub
parent ceff2ec686
commit 2ec8bb877c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 38 deletions

View file

@ -3,6 +3,7 @@ set -e
# Default configurations
username=lemmy
password=lemmy
dbname=lemmy
port=5432
@ -13,6 +14,7 @@ yes_no_prompt_invalid() {
print_config() {
echo " database name: $dbname"
echo " username: $username"
echo " password: $password"
echo " port: $port"
}
@ -41,6 +43,7 @@ ask_for_db_config() {
do
read -p "Database name: " dbname
read -p "Username: " username
read -p "Password: password"
read -p "Port: " port
#echo
@ -63,42 +66,8 @@ ask_for_db_config() {
fi
}
ask_for_password() {
password=""
password_confirm=""
password_valid=0
while [ "$password_valid" == 0 ]
do
read -p "Enter database password: " -s password
echo
read -p "Verify database password: " -s password_confirm
echo
echo
# Start the loop from the top if either check fails
if [ -z "$password" ]
then
echo "Error: Password cannot be empty." 1>&2
echo
continue
fi
if [ "$password" != "$password_confirm" ]
then
echo "Error: Passwords don't match." 1>&2
echo
continue
fi
# Set the password_valid variable to break out of the loop
password_valid=1
done
}
ask_for_db_config
ask_for_password
psql -c "CREATE USER $username WITH PASSWORD '$password' SUPERUSER;" -U postgres
psql -c "CREATE DATABASE $dbname WITH OWNER $username;" -U postgres
export LEMMY_DATABASE_URL=postgres://$username:$password@localhost:$port/$dbname

View file

@ -1,5 +1,8 @@
#!/bin/sh
set -e
#!/bin/bash
set -ex
PACKAGE="$1"
echo "$PACKAGE"
psql -U lemmy -d postgres -c "DROP DATABASE lemmy;"
psql -U lemmy -d postgres -c "CREATE DATABASE lemmy;"
@ -8,6 +11,13 @@ export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
# tests are executed in working directory crates/api (or similar),
# so to load the config we need to traverse to the repo root
export LEMMY_CONFIG_LOCATION=../../config/config.hjson
RUST_BACKTRACE=1 \
cargo test -p lemmy_apub --all-features --no-fail-fast
export RUST_BACKTRACE=1
if [ -n "$PACKAGE" ];
then
cargo test -p $PACKAGE --all-features --no-fail-fast
else
cargo test --workspace --all-features --no-fail-fast
fi
# Add this to do printlns: -- --nocapture