Make relative PID_FOLDER and LOG_FOLDER absolute using jar's directory

Closes gh-7092
Closes gh-7093
This commit is contained in:
Andy Wilkinson 2016-10-14 09:19:11 +01:00
parent 03deff9a1c
commit 24f8c737fb
4 changed files with 17 additions and 2 deletions

View File

@ -207,7 +207,12 @@ public class SysVinitLaunchScriptIT {
coloredString(AnsiColor.GREEN, "Running [" + extractPid(output) + "]"));
assertThat(output).has(
coloredString(AnsiColor.GREEN, "Stopped [" + extractPid(output) + "]"));
}
@Test
public void launchWithRelativeLogFolder() throws Exception {
String output = doTest("launch-with-relative-log-folder.sh");
assertThat(output).contains("Log written");
}
private void doLaunch(String script) throws Exception {

View File

@ -0,0 +1,8 @@
source ./test-functions.sh
mkdir ./pid
install_service
echo 'LOG_FOLDER=log' > /test-service/spring-boot-app.conf
mkdir -p /test-service/log
start_service
await_app
[[ -s /test-service/log/spring-boot-app.log ]] && echo "Log written"

View File

@ -1,7 +1,7 @@
source ./test-functions.sh
mkdir ./pid
install_service
echo 'PID_FOLDER=./pid' > /test-service/spring-boot-app.conf
mkdir /test-service/pid
echo 'PID_FOLDER=pid' > /test-service/spring-boot-app.conf
start_service
echo "PID: $(cat /test-service/pid/spring-boot-app/spring-boot-app.pid)"
await_app

View File

@ -52,6 +52,8 @@ configfile="$(basename "${jarfile%.*}.conf")"
# 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"