Merge pull request #14519 from Andreas Gebhardt

* gh-14519:
  Polish "Log a warning when using fallback for pid and log locations"
  Log a warning when using fallback for pid and log locations
This commit is contained in:
Andy Wilkinson 2018-10-04 15:21:31 +01:00
commit 069e7f3881
4 changed files with 35 additions and 8 deletions

View File

@ -57,13 +57,18 @@ configfile="$(basename "${jarfile%.*}.conf")"
# shellcheck source=/dev/null
[[ -r "${CONF_FOLDER}/${configfile}" ]] && source "${CONF_FOLDER}/${configfile}"
# ANSI Colors
echoRed() { echo $'\e[0;31m'"$1"$'\e[0m'; }
echoGreen() { echo $'\e[0;32m'"$1"$'\e[0m'; }
echoYellow() { echo $'\e[0;33m'"$1"$'\e[0m'; }
# Initialize PID/LOG locations if they weren't provided by the config file
[[ -z "$PID_FOLDER" ]] && PID_FOLDER="{{pidFolder:/var/run}}"
[[ -z "$LOG_FOLDER" ]] && LOG_FOLDER="{{logFolder:/var/log}}"
! [[ "$PID_FOLDER" == /* ]] && PID_FOLDER="$(dirname "$jarfile")"/"$PID_FOLDER"
! [[ "$LOG_FOLDER" == /* ]] && LOG_FOLDER="$(dirname "$jarfile")"/"$LOG_FOLDER"
! [[ -x "$PID_FOLDER" ]] && PID_FOLDER="/tmp"
! [[ -x "$LOG_FOLDER" ]] && LOG_FOLDER="/tmp"
! [[ -x "$PID_FOLDER" ]] && echoYellow "PID_FOLDER $PID_FOLDER does not exist. Falling back to /tmp" && PID_FOLDER="/tmp"
! [[ -x "$LOG_FOLDER" ]] && echoYellow "LOG_FOLDER $LOG_FOLDER does not exist. Falling back to /tmp" && LOG_FOLDER="/tmp"
# Set up defaults
[[ -z "$MODE" ]] && MODE="{{mode:auto}}" # modes are "auto", "service" or "run"
@ -84,11 +89,6 @@ fi
# Initialize stop wait time if not provided by the config file
[[ -z "$STOP_WAIT_TIME" ]] && STOP_WAIT_TIME="{{stopWaitTime:60}}"
# ANSI Colors
echoRed() { echo $'\e[0;31m'"$1"$'\e[0m'; }
echoGreen() { echo $'\e[0;32m'"$1"$'\e[0m'; }
echoYellow() { echo $'\e[0;33m'"$1"$'\e[0m'; }
# Utility functions
checkPermissions() {
touch "$pid_file" &> /dev/null || { echoRed "Operation not permitted (cannot access pid file)"; return 4; }

View File

@ -171,7 +171,22 @@ public class SysVinitLaunchScriptIT {
@Test
public void basicLaunch() throws Exception {
doLaunch("basic-launch.sh");
String output = doTest("basic-launch.sh");
assertThat(output).doesNotContain("PID_FOLDER");
}
@Test
public void launchWithMissingLogFolderGeneratesAWarning() throws Exception {
String output = doTest("launch-with-missing-log-folder.sh");
assertThat(output).has(coloredString(AnsiColor.YELLOW,
"LOG_FOLDER /does/not/exist does not exist. Falling back to /tmp"));
}
@Test
public void launchWithMissingPidFolderGeneratesAWarning() throws Exception {
String output = doTest("launch-with-missing-pid-folder.sh");
assertThat(output).has(coloredString(AnsiColor.YELLOW,
"PID_FOLDER /does/not/exist does not exist. Falling back to /tmp"));
}
@Test

View File

@ -0,0 +1,6 @@
source ./test-functions.sh
install_service
echo 'LOG_FOLDER=/does/not/exist' > /test-service/spring-boot-app.conf
start_service
await_app
curl -s http://127.0.0.1:8080/

View File

@ -0,0 +1,6 @@
source ./test-functions.sh
install_service
echo 'PID_FOLDER=/does/not/exist' > /test-service/spring-boot-app.conf
start_service
await_app
curl -s http://127.0.0.1:8080/