From ee40b72a25dc19a1eaeefea1b10d80ffa2ecf654 Mon Sep 17 00:00:00 2001 From: Seonghyun Kim Date: Wed, 19 Jul 2023 19:34:03 +0900 Subject: [PATCH] Add arm32 test Signed-off-by: Seonghyun Kim --- .jenkins/JenkinsfileArm | 36 ++++++++++++++++++++++--- tools/test/chakracore/chakracore.run.sh | 5 ++++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/.jenkins/JenkinsfileArm b/.jenkins/JenkinsfileArm index ab4ea2f7c..34141f0b4 100644 --- a/.jenkins/JenkinsfileArm +++ b/.jenkins/JenkinsfileArm @@ -39,15 +39,45 @@ node { sh 'git submodule update --init test third_party/GCutil' } - stage('Prepare build') { + withCredentials([usernamePassword(credentialsId: 'arm32docker', passwordVariable: 'passwordVariable', usernameVariable: 'usernameVariable')]) { + def remote = [:] + remote.name = 'arm32-docker' + remote.host = 'localhost' + remote.port = 11111 + remote.user = usernameVariable + remote.password = passwordVariable + remote.allowAnyHosts = true + stage('prepare workspace') { + sshCommand remote: remote, command: "rm -rf escargot escargot.zip" + sshCommand remote: remote, command: "pwd" + sh "zip -r escargot.zip ./*" + sshPut remote: remote, from: "escargot.zip", into: "./" + sshCommand remote: remote, command: "unzip escargot.zip -d escargot" + } + stage('Build on arm32') { + sshCommand remote: remote, command: "\ + cd escargot;\ + cmake -H./ -Bout -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=arm32 -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja;\ + cmake --build ./out/;\ + " + } + stage('Running tests on arm32') { + sshCommand remote: remote, command: "\ + cd escargot;\ + tools/run-tests.py --engine='/root/escargot/out/escargot' --extra-arg='--skip intl402' new-es v8 spidermonkey chakracore test262;\ + " + } + } + + stage('Prepare build on aarch64') { sh 'cmake -H./ -Bout -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja' } - stage('Build') { + stage('Build on aarch64') { sh 'cmake --build ./out/' } - stage('Running test') { + stage('Running test on aarch64') { timeout(30) { sh '#!/bin/bash\nGC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${WORKSPACE}/out/escargot" --extra-arg="--skip intl402" new-es v8 spidermonkey chakracore test262' } diff --git a/tools/test/chakracore/chakracore.run.sh b/tools/test/chakracore/chakracore.run.sh index dd4a98508..ada638fd7 100755 --- a/tools/test/chakracore/chakracore.run.sh +++ b/tools/test/chakracore/chakracore.run.sh @@ -75,6 +75,8 @@ run_tcs () { if [[ $RT_TZSET != "" ]]; then RT_CMD="env TZ=US/Pacific $RT_CMD"; fi + # we should remove GC large alloc warning. it can affect output + RT_CMD="env GC_LARGE_ALLOC_WARN_INTERVAL=32767 $RT_CMD" # $($RT_CMD > $RT_TEMP_OUTPUT_FILE 2>> $LOG_FILE) & $RT_CMD &> $RT_TEMP_OUTPUT_FILE & PID=$! @@ -297,6 +299,9 @@ main() { done echo "==========================================================" | tee -a $LOG_FILE print_count "Total" $TOTAL_COUNT $TOTAL_PASS $TOTAL_FAIL $TOTAL_SKIP + if [[ $TOTAL_FAIL != 0 ]]; then + cat $LOG_FILE + fi } main $(pwd)/$1 $2