summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xesc-reporting/esc-collect.py3
-rwxr-xr-xscripts/git-cherry-gerrit.py12
-rw-r--r--test-bugzilla-files/analyze_logs.py8
-rwxr-xr-xtest-bugzilla-files/commands.sh33
-rw-r--r--test-bugzilla-files/config9
-rwxr-xr-xtest-bugzilla-files/execute.sh10
-rw-r--r--test-bugzilla-files/new-control.py25
-rw-r--r--test-bugzilla-files/test-bugzilla-files.py46
-rwxr-xr-xtest-bugzilla-files/zip.sh62
9 files changed, 116 insertions, 92 deletions
diff --git a/esc-reporting/esc-collect.py b/esc-reporting/esc-collect.py
index 59bcb15..5af452c 100755
--- a/esc-reporting/esc-collect.py
+++ b/esc-reporting/esc-collect.py
@@ -549,7 +549,8 @@ def get_esc_bugzilla(cfg):
'&chfieldto=Now' \
'&chfieldvalue=high' \
'&priority=high' \
- '&resolution=---'
+ '&resolution=---' \
+ '&v1=enhancement'
rawList['HighSeverityBugs'] = {}
rawList['HighSeverityBugs']['count'], \
rawList['HighSeverityBugs']['list'] = do_ESC_counting(bz, url)
diff --git a/scripts/git-cherry-gerrit.py b/scripts/git-cherry-gerrit.py
index df7e0c0..bb8235f 100755
--- a/scripts/git-cherry-gerrit.py
+++ b/scripts/git-cherry-gerrit.py
@@ -52,8 +52,12 @@ def main() -> None:
if len(sys.argv) >= 5:
whitelist_file = sys.argv[4]
+ hash_length = 0
+ if len(sys.argv) >= 6:
+ hash_length = int(sys.argv[5])
+
if not cherry_from:
- print("Usage: git-cherry-gerrit.py cherry_from cherry_to [branch_point_from] [whitelist_file]")
+ print("Usage: git-cherry-gerrit.py cherry_from cherry_to [branch_point_from] [whitelist_file] [hash_length]")
sys.exit(1)
merge_base = from_pipe(["git", "merge-base", cherry_from, cherry_to])
@@ -77,7 +81,11 @@ def main() -> None:
whitelist = stream.read().strip().split("\n")
for from_hash in from_hashes:
changeid = get_change_id(git_cat_file, from_hash)
- pretty = from_pipe(["git", "--no-pager", "log", "-1", "--format=format:%h%x09%an%x09%s%x0a", from_hash])
+ if hash_length:
+ # Avoid '%h' that may not be exactly hash_length characters, but out stored whitelist has that length.
+ pretty = from_hash[:hash_length] + "\t" + from_pipe(["git", "--no-pager", "log", "-1", "--format=format:%an%x09%s%x0a", from_hash])
+ else:
+ pretty = from_pipe(["git", "--no-pager", "log", "-1", "--format=format:%h%x09%an%x09%s%x0a", from_hash])
if not changeid:
if not whitelist_file or not [entry for entry in whitelist if pretty in entry]:
print("WARNING: commit '" + pretty + "' has no Change-Id, assuming it has to be cherry-picked.")
diff --git a/test-bugzilla-files/analyze_logs.py b/test-bugzilla-files/analyze_logs.py
index c2c426a..f027dc1 100644
--- a/test-bugzilla-files/analyze_logs.py
+++ b/test-bugzilla-files/analyze_logs.py
@@ -26,7 +26,7 @@ def analyze_import_crash(crashtest_file, crashes):
if not os.path.exists(crashtest_file):
return 0
- regex = re.compile("Crash:/srv/crashtestdata/files/(\w*)")
+ regex = re.compile("Crash:/srv/crashtestdata/.+/(\w*)/")
for line in open(crashtest_file):
r = regex.search(line)
format = r.groups()[0]
@@ -39,9 +39,11 @@ def analyze_odfundifflog(odfundifflog_file, differences):
if not os.path.exists(odfundifflog_file):
return 0
- regex = re.compile("Difference in :/srv/crashtestdata/files/(\w*)")
+ regex = re.compile("/srv/crashtestdata/.+/(\w*)/")
for line in open(odfundifflog_file):
r = regex.search(line)
+ if r == None:
+ continue
format = r.groups()[0]
if format not in differences:
differences[format] = 0
@@ -52,7 +54,7 @@ def analyze_export_crash(crashtest_file, crashes):
if not os.path.exists(crashtest_file):
return 0
- regex = re.compile("/srv/crashtestdata/files/\w+/[a-zA-Z0-9_-]+\.(\w+)")
+ regex = re.compile("/srv/crashtestdata/files/.+/[,:a-zA-Z0-9_-]+\.(\w+)")
for line in open(crashtest_file):
r = regex.search(line)
format = r.groups()[0]
diff --git a/test-bugzilla-files/commands.sh b/test-bugzilla-files/commands.sh
index da37678..5b7d843 100755
--- a/test-bugzilla-files/commands.sh
+++ b/test-bugzilla-files/commands.sh
@@ -1,48 +1,55 @@
#!/bin/bash
-dir=$HOME/source/dev-tools/test-bugzilla-files
-source ${dir}/config
-cd /srv/crashtestdata/
+if [ -f $HOME/.config/crashtesting.config ] ; then
+ source $HOME/.config/crashtesting.config
+else
+ dir=$HOME/source/dev-tools/test-bugzilla-files
+ source ${dir}/config
+fi
+cd "$CRASHTESTDATA"
rm tmpdir/* -r
rm current/* -r
rm control/* -r
rm console_*
-cd ~/build/
+mkdir -p "$BUILDDIR"
+cd "$BUILDDIR"
if [ -z "$CRASHTEST_READONLY_CORE" ]; then
make clean
fi
-cd ~/source/dev-tools/
+cd "$DTPATH"
if [ -z "$CRASHTEST_READONLY_DEVTOOLS" ]; then
git pull -r
fi
-cd ~/source/libo-core/
+cd "$SRCDIR"
if [ -z "$CRASHTEST_READONLY_CORE" ]; then
git pull -r
fi
SHA=`git rev-parse HEAD`
echo $SHA
-mkdir /srv/crashtestdata/logs/$SHA
-cd ~/build/
+mkdir -p "$CRASHTESTDATA"/logs/$SHA
+cd "$BUILDDIR"
if [ -z "$CRASHTEST_READONLY_CORE" ]; then
+ "$SRCDIR"/autogen.sh
make build
fi
if [ "$?" != "0" ]; then
if [ -z "$CRASHTEST_NO_EMAIL" ]; then
- /srv/crashtestdata/sendEmail -t markus.mohrhard@googlemail.com -t caolanm@redhat.com -u "Crash test build failure" -m "The build failed. Please check!"
+ "$CRASHTESTDATA"/sendEmail -t markus.mohrhard@googlemail.com -t caolanm@redhat.com -u "Crash test build failure" -m "The build failed. Please check!"
fi
exit 1
fi
ulimit -c unlimited
-cd ~/source/dev-tools/test-bugzilla-files/
-python3 new-control.py /srv/crashtestdata/files/
+cd "$DTPATH"/test-bugzilla-files/
+python3 new-control.py "$CRASHTESTDATA"/files/
if [ "$?" != "0" ]; then
if [ -z "$CRASHTEST_NO_EMAIL" ]; then
- /srv/crashtestdata/sendEmail -t markus.mohrhard@googlemail.com -t caolanm@redhat.com -u "Crash test failure" -m "The test run failed. Please check!"
+ "$CRASHTESTDATA"/sendEmail -t markus.mohrhard@googlemail.com -t caolanm@redhat.com -u "Crash test failure" -m "The test run failed. Please check!"
fi
exit 1
fi
-cd /srv/crashtestdata/
+cd "$CRASHTESTDATA"
+cp "$DTPATH"/test-bugzilla-files/zip.sh .
./zip.sh
diff --git a/test-bugzilla-files/config b/test-bugzilla-files/config
index 9622054..5f81cee 100644
--- a/test-bugzilla-files/config
+++ b/test-bugzilla-files/config
@@ -1,13 +1,20 @@
export CRASHTESTDATA=/srv/crashtestdata
export SRCDIR=/home/$USER/source/libo-core
-export INSTDIR=/home/$USER/build/instdir
+export BUILDDIR=/home/$USER/build
+export INSTDIR=$BUILDDIR/instdir
export USERDIR=/home/$USER/.config
+export WORKERS=72
+export DTPATH=~/source/dev-tools/
+export FILESNR=100
# Warning limits
export DISKSPACELIMIT=5 # Remaining disk space warning limit in GiB.
export MEMORYLIMIT=90 # Memory usage warning limit in percent.
export CPULOADAVGLIMIT=0.9 # CPU load average limit for per core in last minute. min 0, max 1.
+# Reduce concurrency
+export MAX_CONCURRENCY=2
+
# For development purposes:
# Don't touch the core.git source/build directory:
# export CRASHTEST_READONLY_CORE=1
diff --git a/test-bugzilla-files/execute.sh b/test-bugzilla-files/execute.sh
index 3c91e34..5ed91e2 100755
--- a/test-bugzilla-files/execute.sh
+++ b/test-bugzilla-files/execute.sh
@@ -2,7 +2,13 @@
ulimit -c unlimited
dir_name=$(basename $1)
dir=${PWD}
-source ${dir}/config
+if [ -f $HOME/.config/crashtesting.config ] ; then
+ source $HOME/.config/crashtesting.config
+else
+ source ${dir}/config
+fi
mkdir -p ${CRASHTESTDATA}/control/$dir_name
cd ${CRASHTESTDATA}/control/$dir_name
-TMPDIR=${CRASHTESTDATA}/tmpdir ${INSTDIR}/program/python ${dir}/test-bugzilla-files.py --soffice=path:${INSTDIR}/program/soffice --userdir=file://${USERDIR}/libreoffice_$dir_name/4 $1 2>&1 | tee ${CRASHTESTDATA}/console_$dir_name.log
+TMPDIR=${CRASHTESTDATA}/tmpdir ${INSTDIR}/program/python ${dir}/test-bugzilla-files.py --soffice=path:${INSTDIR}/program/soffice --userdir=file://${USERDIR}/libreoffice_$dir_name/4 $1 >> ${CRASHTESTDATA}/console_$dir_name.log 2>&1
+echo "$(date): Task finished: $dir_name"
+rm -r ${USERDIR}/libreoffice_$dir_name
diff --git a/test-bugzilla-files/new-control.py b/test-bugzilla-files/new-control.py
index e8cc89f..2a95970 100644
--- a/test-bugzilla-files/new-control.py
+++ b/test-bugzilla-files/new-control.py
@@ -52,26 +52,27 @@ def execute_task(task_file, asan):
elif asan == 0:
subprocess.call("./execute.sh " + task_file, shell=True)
time.sleep(1)
+ os.remove(task_file)
def saveAsPreviousState(exported_files):
odf_file_ext = ['odt', 'odp', 'odb', 'ods', 'odg']
- previous_path = "/srv/crashtestdata/previous"
+ previous_path = os.environ["CRASHTESTDATA"] + "/previous"
if os.path.exists(previous_path):
rmtree(previous_path)
for ext in odf_file_ext:
- os.makedirs(previous_path + "/srv/crashtestdata/files/"+ ext)
+ os.makedirs(previous_path + os.environ["CRASHTESTDATA"] + "/files/"+ ext)
- prefix = "/srv/crashtestdata/current"
+ prefix = os.environ["CRASHTESTDATA"] + "/current"
for file in exported_files:
ext = file[-3:]
if ext in odf_file_ext and os.path.exists(file):
- os.makedirs(os.path.dirname("/srv/crashtestdata/previous"+file[len(prefix):]), exist_ok=True)
- copyfile(file, "/srv/crashtestdata/previous"+file[len(prefix):])
+ os.makedirs(os.path.dirname(os.environ["CRASHTESTDATA"] + "/previous"+file[len(prefix):]), exist_ok=True)
+ copyfile(file, os.environ["CRASHTESTDATA"] + "/previous"+file[len(prefix):])
- SHAcmd = "cd ~/source/libo-core/ && git rev-parse HEAD"
+ SHAcmd = "cd $SRCDIR && git rev-parse HEAD"
previous_SHA = str(subprocess.check_output(SHAcmd, shell=True), encoding='utf-8')
- previous_SHA_file = open("/srv/crashtestdata/previous/hash.txt", "w")
+ previous_SHA_file = open(os.environ["CRASHTESTDATA"] + "/previous/hash.txt", "w")
previous_SHA_file.write(previous_SHA)
previous_SHA_file.close()
@@ -91,7 +92,7 @@ def checkDiskSpace():
freeGiB = free // (2**30)
disk_space_limit = int(os.environ["DISKSPACELIMIT"])
if freeGiB <= disk_space_limit:
- diskusagefile = open("/srv/crashtestdata/diskusageinfo.txt", "w")
+ diskusagefile = open(os.environ["CRASHTESTDATA"] + "/diskusageinfo.txt", "w")
diskusagefile.write(str(freeGiB))
diskusagefile.close()
@@ -101,7 +102,7 @@ def checkCPULoadAverage():
cpu_loadavg_limit = float(os.environ["CPULOADAVGLIMIT"])
if cpuload > cpu_loadavg_limit:
- cpuusagefile = open("/srv/crashtestdata/cpuusageinfo.txt", "w")
+ cpuusagefile = open(os.environ["CRASHTESTDATA"] + "/cpuusageinfo.txt", "w")
cpuusagefile.write(str(cpuload))
cpuusagefile.close()
@@ -149,8 +150,8 @@ if __name__ == "__main__":
print("no valid directory")
sys.exit(1)
- task_size = 100
- workers = 30
+ task_size = int(os.environ["FILESNR"])
+ workers = int(os.environ["WORKERS"])
if asan == 1:
workers = 64
@@ -168,7 +169,7 @@ if __name__ == "__main__":
else:
print('%r successfully passed' % (task))
- exported_files = get_list_of_files("/srv/crashtestdata/current/srv/crashtestdata/files/")
+ exported_files = get_list_of_files(os.environ["CRASHTESTDATA"] + "/current/" + os.environ["CRASHTESTDATA"] + "/files/")
checkDiskSpace()
if os.getenv('SAVEPREVIOUSSTATE'):
diff --git a/test-bugzilla-files/test-bugzilla-files.py b/test-bugzilla-files/test-bugzilla-files.py
index ac219ac..16d337e 100644
--- a/test-bugzilla-files/test-bugzilla-files.py
+++ b/test-bugzilla-files/test-bugzilla-files.py
@@ -83,6 +83,7 @@ class OfficeConnection:
self.args = args
self.soffice = None
self.socket = None
+ self.pipename = None
self.xContext = None
self.pro = None
self.suicided = False
@@ -91,7 +92,8 @@ class OfficeConnection:
if sep != ":":
raise Exception("soffice parameter does not specify method")
if method == "path":
- socket = "pipe,name=pytest" + str(uuid.uuid1())
+ self.pipename = "pytest" + str(uuid.uuid1())
+ socket = "pipe,name=" + self.pipename
try:
userdir = self.args["--userdir"]
except KeyError:
@@ -159,6 +161,9 @@ class OfficeConnection:
# return ret
def kill(self):
self.suicided = True
+ command = "rm /tmp/OSL_PIPE_" + str(os.getuid()) + "_" + self.pipename;
+ print(command)
+ os.system(command)
command = "kill " + str(self.pro.pid)
killFile = open("killFile.log", "a")
killFile.write(command + "\n")
@@ -416,7 +421,7 @@ def getODFunDiffCommand():
return os.environ["HOME"] + "/source/bin/odfundiff-exe"
def isPreviousExist():
- previous_path = "/srv/crashtestdata/previous"
+ previous_path = os.environ["CRASHTESTDATA"] + "/previous"
if os.path.exists(previous_path):
return True
return False
@@ -602,39 +607,20 @@ class NormalTimer:
def getImportTime(self):
return 60
-
def getExportTime(self):
return 180
-
-class AsanTimer:
- def __init__(self):
- pass
-
- def getImportTime(self):
- return 300
-
- def getExportTime(self):
- return 900
-
-
def runLoadFileTests(opts, files, doExport):
startTime = datetime.datetime.now()
connection = PersistentConnection(opts)
exportedFiles = []
try:
tests = []
-# print("before map")
files.sort()
- asan = "--asan" in opts
- print(asan)
- timer = None
- if asan is True:
- timer = AsanTimer()
- else:
- timer = NormalTimer()
+ validate = "--validate" in opts
+ timer = NormalTimer()
- tests.extend( (LoadFileTest(file, not asan, timer, doExport) for file in files) )
+ tests.extend( (LoadFileTest(file, validate, timer, doExport) for file in files) )
runConnectionTests(connection, simpleInvoke, tests)
exportedFiles = [item for sublist in tests for item in sublist.exportedFiles]
@@ -645,7 +631,7 @@ def runLoadFileTests(opts, files, doExport):
def parseArgs(argv):
(optlist,args) = getopt.getopt(argv[1:], "hr",
- ["help", "soffice=", "userdir=", "valgrind", "asan"])
+ ["help", "soffice=", "userdir=", "valgrind", "validate"])
# print optlist
return (dict(optlist), args)
@@ -657,7 +643,7 @@ def usage():
supported methods: 'path', 'connect'
--userdir=URL specify user installation directory for 'path' method
--valgrind pass --valgrind to soffice for 'path' method
- --asan run under asan, don't run export tests
+ --validate run with validation of exported files
'location' is a pathname, not a URL. 'userdir' is a URL. the 'task_file' parameters should be
full absolute pathnames, not URLs."""
@@ -681,8 +667,8 @@ if __name__ == "__main__":
runLoadFileTests(opts, exportedFiles, False)
exclude_list = []
- if os.path.exists("/srv/crashtestdata/odfundiff_exclude_list.txt"):
- with open('/srv/crashtestdata/odfundiff_exclude_list.txt') as file:
+ if os.path.exists(os.environ["CRASHTESTDATA"] + "/odfundiff_exclude_list.txt"):
+ with open(os.environ["CRASHTESTDATA"] + "/odfundiff_exclude_list.txt") as file:
exclude_list = file.readlines()
exclude_list = [line.rstrip() for line in exclude_list]
@@ -690,7 +676,7 @@ if __name__ == "__main__":
odf_file_ext = ['odt', 'odp', 'odb', 'ods', 'odg']
for filename in exportedFiles:
if filename[-3:] in odf_file_ext:
- odfundiffCommandWithURL = getODFunDiffCommand() + " /srv/crashtestdata/previous" + filename + " /srv/crashtestdata/current" + filename
+ odfundiffCommandWithURL = getODFunDiffCommand() + " " + os.environ["CRASHTESTDATA"] + "/previous" + filename + " " + os.environ["CRASHTESTDATA"] + "/current" + filename
print(odfundiffCommandWithURL)
try:
output = str(subprocess.check_output(odfundiffCommandWithURL, shell=True, timeout=600), encoding='utf-8')
@@ -701,7 +687,7 @@ if __name__ == "__main__":
continue
elif not "Diff finished, number of differences found: 0" in output and \
not filename in exclude_list:
- validLog = open("/srv/crashtestdata/current" + filename + ".log.odfundiff", "w")
+ validLog = open(os.environ["CRASHTESTDATA"] + "/current" + filename + ".log.odfundiff", "w")
validLog.write(output)
validLog.close()
handleODFunDiff(filename, output)
diff --git a/test-bugzilla-files/zip.sh b/test-bugzilla-files/zip.sh
index 4808b43..17b6848 100755
--- a/test-bugzilla-files/zip.sh
+++ b/test-bugzilla-files/zip.sh
@@ -1,48 +1,54 @@
#!/bin/bash
-cd ~/source/libo-core/
+cd "$SRCDIR"
SHA=`git rev-parse HEAD`
echo $SHA
-cd /srv/crashtestdata/
-cd /srv/crashtestdata/control/
-mkdir -p /srv/crashtestdata/logs/$SHA/backtraces
-for a in */core*; do gdb ~/build/instdir/program/soffice.bin $a -ex "thread apply all backtrace full" --batch > /srv/crashtestdata/logs/$SHA/backtraces/`dirname "$a"`-`basename "$a"`.backtrace.txt; done
-cat */crashlog.txt > /srv/crashtestdata/logs/$SHA/crashlog.txt
-cat */exportCrash.txt > /srv/crashtestdata/logs/$SHA/exportCrash.txt
-echo "filename,total-diff-count,attr-diff-count,node-diff-count" > /srv/crashtestdata/logs/$SHA/odfundifflog.csv
-cat */odfundifflog.csv >> /srv/crashtestdata/logs/$SHA/odfundifflog.csv
+cd "$CRASHTESTDATA"/
+cd "$CRASHTESTDATA"/control/
+mkdir -p "$CRASHTESTDATA"/logs/$SHA/backtraces
+shopt -s nullglob # do nothing for zero core dumps
+for a in */core*; do gdb "$INSTDIR"/program/soffice.bin $a -ex "thread apply all backtrace full" --batch > "$CRASHTESTDATA"/logs/$SHA/backtraces/`dirname "$a"`-`basename "$a"`.backtrace.txt; done
+shopt -u nullglob # reset to normal globbing
+cat */crashlog.txt > "$CRASHTESTDATA"/logs/$SHA/crashlog.txt
+cat */exportCrash.txt > "$CRASHTESTDATA"/logs/$SHA/exportCrash.txt
+echo "filename,total-diff-count,attr-diff-count,node-diff-count" > "$CRASHTESTDATA"/logs/$SHA/odfundifflog.csv
+cat */odfundifflog.csv >> "$CRASHTESTDATA"/logs/$SHA/odfundifflog.csv
# Ignore the header.
-num_of_odf_diffs=$(($(< "/srv/crashtestdata/logs/$SHA/odfundifflog.csv" wc -l)-1))
-num_of_import_crashes=$(< "/srv/crashtestdata/logs/$SHA/crashlog.txt" wc -l)
-num_of_export_crashes=$(< "/srv/crashtestdata/logs/$SHA/exportCrash.txt" wc -l)
-num_of_excluded_file=$(< "/srv/crashtestdata/odfundiff_exclude_list.txt" wc -l)
-previous_hash="$(cat /srv/crashtestdata/previous/hash.txt)"
-rm -rf /srv/crashtestdata/logs/$SHA/odfundiff
-cd /srv/crashtestdata/current/srv/crashtestdata/files/
+num_of_odf_diffs=$(($(< ""$CRASHTESTDATA"/logs/$SHA/odfundifflog.csv" wc -l)-1))
+num_of_import_crashes=$(< ""$CRASHTESTDATA"/logs/$SHA/crashlog.txt" wc -l)
+num_of_export_crashes=$(< ""$CRASHTESTDATA"/logs/$SHA/exportCrash.txt" wc -l)
+num_of_excluded_file=$(< ""$CRASHTESTDATA"/odfundiff_exclude_list.txt" wc -l)
+previous_hash="$(cat "$CRASHTESTDATA"/previous/hash.txt)"
+rm -rf "$CRASHTESTDATA"/logs/$SHA/odfundiff
+cd "$CRASHTESTDATA"/current"$CRASHTESTDATA"/files/
rm -f odfundiff.zip
zip -r -q odfundiff.zip */*.odfundiff
-mv odfundiff.zip /srv/crashtestdata/logs/$SHA/.
-rm -f validation.zip
-zip -r -q validation.zip */*.log
-mv validation.zip /srv/crashtestdata/logs/$SHA/.
-cd /srv/crashtestdata/logs/$SHA
-unzip validation.zip -d validation
+mv odfundiff.zip "$CRASHTESTDATA"/logs/$SHA/.
+if [ -e validation.zip ]; then
+ rm -f validation.zip
+ zip -r -q validation.zip */*.log
+ mv validation.zip "$CRASHTESTDATA"/logs/$SHA/.
+fi
+cd "$CRASHTESTDATA"/logs/$SHA
+if [ -e validation.zip ]; then
+ unzip validation.zip -d validation
+fi
unzip odfundiff.zip -d odfundiff
rm *.zip
-cp ~/source/dev-tools/test-bugzilla-files/analyze_logs.py .
+cp "$DTPATH"/test-bugzilla-files/analyze_logs.py .
# No odfundifflog.csv, which is specific to a single run.
cp ../exportCrashes.csv ../importCrash.csv ../odfundiff.csv ../validationErrors.csv .
python analyze_logs.py
cp exportCrashes.csv importCrash.csv odfundiff.csv validationErrors.csv ../.
cd ..
-rm -f current.zip
-zip -r current.zip $SHA/*
if [ -z "$CRASHTEST_NO_UPLOAD" ]; then
+ rm -f current.zip
+ zip -r current.zip $SHA/*
scp current.zip upload@gimli.documentfoundation.org:/srv/www/dev-builds.libreoffice.org/crashtest/.
ssh upload@gimli.documentfoundation.org unzip -n /srv/www/dev-builds.libreoffice.org/crashtest/current.zip -d /srv/www/dev-builds.libreoffice.org/crashtest
fi
-cd /srv/crashtestdata/
-diskusagefile=/srv/crashtestdata/diskusageinfo.txt
+cd "$CRASHTESTDATA"/
+diskusagefile="$CRASHTESTDATA"/diskusageinfo.txt
if [ -e $diskusagefile ]; then
free_disk_space="$(cat $diskusagefile)"
rm $diskusagefile
@@ -83,5 +89,5 @@ cat << EOF >> mail.txt
EOF
if [ -z "$CRASHTEST_NO_EMAIL" ]; then
- /srv/crashtestdata/sendEmail -t libreoffice@lists.freedesktop.org -u "Crash test update" -m "$(cat /srv/crashtestdata/mail.txt)" -a logs/*.csv
+ "$CRASHTESTDATA"/sendEmail -t libreoffice@lists.freedesktop.org -u "Crash test update" -m "$(cat "$CRASHTESTDATA"/mail.txt)" -a logs/*.csv
fi