#!/usr/bin/env bash set -e config=(${1//,/ }) export hostName=${config[0]} export triple=${config[1]} export remoteDir=${config[2]} export compiler=$toolchain/$triple/bin/$triple-gcc tripleToken=(${triple//-/ }) export arch=${tripleToken[0]} function clean { svn status $lldbDir/test --no-ignore | grep '^[I?]' | cut -c 9- | while IFS= read -r f; do echo "$f"; rm -rf "$f"; done || true ssh $hostName "ps -A | grep lldb-server | awk '{print \$1}' | xargs kill || true" ssh $hostName "rm -rd $remoteDir || true" } trap clean EXIT set -x export logHome=$buildSlaveRoot/test-traces/$triple/$hostName export dir_count=$(ls -l $logHome/ | grep -c ^d) if [ $dir_count -gt 10 ] then cd $logHome ls -t | tail -n +11 | xargs -d '\n' rm -rf -- cd - fi today=`date '+%Y_%m_%d__%H_%M_%S'` export logDir=$logHome/$today mkdir -p $logDir # Check if lldb-server is already running. If yes then kill the process else do nothing. ssh $hostName "ps -A | grep lldb-server | awk '{print \$1}' | xargs kill || true" # Delete remoteDir if it was present previously ssh $hostName "rm -rd $remoteDir || true" # Create new remoteDir. ssh $hostName "mkdir -p $remoteDir/tmp" # Copy lldb-server binary to remoteDir scp $buildDir/$triple/bin/lldb-server $hostName:$remoteDir/ listen_url=*:$port connect_url=connect://$hostName:$port screen -d -m ssh $hostName "TMPDIR=$remoteDir/tmp $remoteDir/lldb-server platform --listen $listen_url --server" export LLDB_TEST_THREADS=8 lldbPath=$buildDir/host/bin/lldb cmd="$lldbDir/test/dotest.py \ --executable $lldbPath \ -A $arch -C $compiler \ -v -s $logDir -u CXXFLAGS -u CFLAGS \ --channel \"gdb-remote packets\" --channel \"lldb all\" \ --platform-name remote-linux \ --platform-url $connect_url \ --platform-working-dir $remoteDir \ --env OS=Linux \ --skip-category lldb-mi" eval $cmd