From 2ec8bb877c607e33d1b30b7f8a02bfb0338a3104 Mon Sep 17 00:00:00 2001 From: Nutomic Date: Fri, 13 Jan 2023 00:23:58 +0100 Subject: [PATCH] Some script improvements (#2654) - Allow specifying which packages should be tested - Hardcode `lemmy` as db password because thats used in many different places --- scripts/db-init.sh | 37 +++---------------------------------- scripts/test.sh | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 38 deletions(-) diff --git a/scripts/db-init.sh b/scripts/db-init.sh index ccecb7de7..04ce7b901 100755 --- a/scripts/db-init.sh +++ b/scripts/db-init.sh @@ -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 diff --git a/scripts/test.sh b/scripts/test.sh index 312dbd5a3..44c40ad23 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -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