From: Nutomic Date: Thu, 12 Jan 2023 23:23:58 +0000 (+0100) Subject: Some script improvements (#2654) X-Git-Url: http://these/git/%7B%60/feeds/front/%7B%60https:/static/%7Bthis.state.user.avatar%7D?a=commitdiff_plain;h=2ec8bb877c607e33d1b30b7f8a02bfb0338a3104;p=lemmy.git Some script improvements (#2654) - Allow specifying which packages should be tested - Hardcode `lemmy` as db password because thats used in many different places --- diff --git a/scripts/db-init.sh b/scripts/db-init.sh index ccecb7de..04ce7b90 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 312dbd5a..44c40ad2 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