diff options
Diffstat (limited to 'examples/scala-js/ci')
-rwxr-xr-x | examples/scala-js/ci/check-partest-coverage.sh | 58 | ||||
-rwxr-xr-x | examples/scala-js/ci/checksizes.sh | 65 | ||||
-rw-r--r-- | examples/scala-js/ci/matrix.xml | 360 | ||||
-rw-r--r-- | examples/scala-js/ci/scalajs-matrix-build.groovy | 57 |
4 files changed, 0 insertions, 540 deletions
diff --git a/examples/scala-js/ci/check-partest-coverage.sh b/examples/scala-js/ci/check-partest-coverage.sh deleted file mode 100755 index ca35f37..0000000 --- a/examples/scala-js/ci/check-partest-coverage.sh +++ /dev/null @@ -1,58 +0,0 @@ -#! /bin/sh - -# This script tests if all Scala partests are classified. Since -# Scala.js does not provide all the Scala functionality (see [1]), we -# have to exclude some partests from testing. Therefore, every partest -# in $TESTDIR has to be in exactly one of the following files located -# in $KNOWDIR: -# - WhitelistedTests.txt: Tests that succeed -# - BlacklistedTests.txt: Tests that fail since they test for behavior -# which is not supported in Scala.js -# - BuglistedTests.txt: Tests that fail due to a bug in Scala.js -# -# [1] http://www.scala-js.org/doc/semantics.html - -# Arguments -if [ $# -le 0 ]; then - echo "Please give full scala version as argument" >&2 - exit 42 -fi - -FULLVER="$1" - -# Config -BASEDIR="`dirname $0`/.." -TESTDIR="$BASEDIR/partest/fetchedSources/$1/test/files" -KNOWDIR="$BASEDIR/partest-suite/src/test/resources/scala/tools/partest/scalajs/$1/" - -# If the classification directory does not exist, this means (by -# definition) that we do not want to or cannot partest this scala -# version. Therefore, everything is OK. -if [ ! -d $KNOWDIR ]; then - exit 0 -fi - -# Temp files -TMP_PREF=`basename $0` -TMP_HAVE_FILE=`mktemp /tmp/${TMP_PREF}_have_XXXXX` || exit 2 -TMP_KNOW_FILE=`mktemp /tmp/${TMP_PREF}_know_XXXXX` || exit 2 - -# Trap removal of tmp files on exit -trap "rm \"$TMP_HAVE_FILE\" \"$TMP_KNOW_FILE\"" EXIT - -# Find all partests -( # Subshell to protect cwd -cd "$TESTDIR" -find "run" "neg" "pos" \ - -mindepth 1 -maxdepth 1 \( -type d -or -name '*.scala' \) \ - | sort >> $TMP_HAVE_FILE -) - -# Find classified partests -( # Subshell to protect cwd -cd "$KNOWDIR" -cat BlacklistedTests.txt BuglistedTests.txt WhitelistedTests.txt \ - | grep -E -v '^#|^\s*$' | sort >> $TMP_KNOW_FILE -) - -diff -U 0 --label 'Classified Tests' $TMP_KNOW_FILE --label 'Existing Tests' $TMP_HAVE_FILE diff --git a/examples/scala-js/ci/checksizes.sh b/examples/scala-js/ci/checksizes.sh deleted file mode 100755 index 8e7a508..0000000 --- a/examples/scala-js/ci/checksizes.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh - -BASEDIR="`dirname $0`/.." - -FULLVER="$1" - -case $FULLVER in - 2.10.2) - VER=2.10 - ;; - 2.11.2) - VER=2.11 - ;; - 2.11.4) - VER=2.11 - ;; - 2.10.3|2.10.4|2.11.0|2.11.1) - echo "Ignoring checksizes for Scala $FULLVER" - exit 0 - ;; -esac - -REVERSI_PREOPT="$BASEDIR/examples/reversi/target/scala-$VER/reversi-fastopt.js" -REVERSI_OPT="$BASEDIR/examples/reversi/target/scala-$VER/reversi-opt.js" - -REVERSI_PREOPT_SIZE=$(stat '-c%s' "$REVERSI_PREOPT") -REVERSI_OPT_SIZE=$(stat '-c%s' "$REVERSI_OPT") - -gzip "$REVERSI_PREOPT" -gzip "$REVERSI_OPT" - -REVERSI_PREOPT_GZ_SIZE=$(stat '-c%s' "$REVERSI_PREOPT.gz") -REVERSI_OPT_GZ_SIZE=$(stat '-c%s' "$REVERSI_OPT.gz") - -case $FULLVER in - 2.10.2) - REVERSI_PREOPT_EXPECTEDSIZE=1008000 - REVERSI_OPT_EXPECTEDSIZE=161000 - REVERSI_PREOPT_GZ_EXPECTEDSIZE=109000 - REVERSI_OPT_GZ_EXPECTEDSIZE=43000 - ;; - 2.11.2) - REVERSI_PREOPT_EXPECTEDSIZE=943000 - REVERSI_OPT_EXPECTEDSIZE=151000 - REVERSI_PREOPT_GZ_EXPECTEDSIZE=104000 - REVERSI_OPT_GZ_EXPECTEDSIZE=39000 - ;; - 2.11.4) - REVERSI_PREOPT_EXPECTEDSIZE=946000 - REVERSI_OPT_EXPECTEDSIZE=152000 - REVERSI_PREOPT_GZ_EXPECTEDSIZE=104000 - REVERSI_OPT_GZ_EXPECTEDSIZE=40000 - ;; -esac - -echo "Checksizes: Scala version: $FULLVER" -echo "Reversi preopt size = $REVERSI_PREOPT_SIZE (expected $REVERSI_PREOPT_EXPECTEDSIZE)" -echo "Reversi opt size = $REVERSI_OPT_SIZE (expected $REVERSI_OPT_EXPECTEDSIZE)" -echo "Reversi preopt gzip size = $REVERSI_PREOPT_GZ_SIZE (expected $REVERSI_PREOPT_GZ_EXPECTEDSIZE)" -echo "Reversi opt gzip size = $REVERSI_OPT_GZ_SIZE (expected $REVERSI_OPT_GZ_EXPECTEDSIZE)" - -[ "$REVERSI_PREOPT_SIZE" -le "$REVERSI_PREOPT_EXPECTEDSIZE" ] && \ - [ "$REVERSI_OPT_SIZE" -le "$REVERSI_OPT_EXPECTEDSIZE" ] && \ - [ "$REVERSI_PREOPT_GZ_SIZE" -le "$REVERSI_PREOPT_GZ_EXPECTEDSIZE" ] && \ - [ "$REVERSI_OPT_GZ_SIZE" -le "$REVERSI_OPT_GZ_EXPECTEDSIZE" ] diff --git a/examples/scala-js/ci/matrix.xml b/examples/scala-js/ci/matrix.xml deleted file mode 100644 index 5c02146..0000000 --- a/examples/scala-js/ci/matrix.xml +++ /dev/null @@ -1,360 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE ci [ - <!ELEMENT ci (task*,matrix*)> - <!ELEMENT task (#PCDATA)> - <!ATTLIST task id ID #REQUIRED> - <!ELEMENT matrix (run*)> - <!ATTLIST matrix id ID #REQUIRED> - <!ELEMENT run (v*)> - <!ATTLIST run matrix IDREF #IMPLIED> - <!ATTLIST run task IDREF #IMPLIED> - <!ELEMENT v (#PCDATA)> - <!ATTLIST v n CDATA #REQUIRED> -]> -<ci> - - <task id="main"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt ++$scala package packageDoc && - sbt ++$scala helloworld/run \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala helloworld/run \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala helloworld/run \ - helloworld/clean && - sbt 'set scalaJSOptimizerOptions in ScalaJSBuild.helloworld ~= (_.withDisableOptimizer(true))' \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala helloworld/run \ - helloworld/clean && - sbt 'set inScope(ThisScope in ScalaJSBuild.helloworld)(postLinkJSEnv := PhantomJSEnv().value)' \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala helloworld/run \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala helloworld/run && - sbt ++$scala testingExample/test \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala testingExample/test \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala testingExample/test \ - testingExample/clean && - sbt 'set scalaJSOptimizerOptions in ScalaJSBuild.testingExample ~= (_.withDisableOptimizer(true))' \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala testingExample/test && - sbt ++$scala "testSuite/testOnly -- -- -trhino -tsource-maps" \ - "noIrCheckTest/testOnly -- -- -trhino -tsource-maps" \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \ - "noIrCheckTest/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \ - "noIrCheckTest/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \ - testSuite/clean && - sbt 'set scalaJSOptimizerOptions in ScalaJSBuild.testSuite ~= (_.withDisableOptimizer(true))' \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \ - testSuite/clean && - sbt 'set scalaJSSemantics in ScalaJSBuild.testSuite ~= { _.withAsInstanceOfs(scala.scalajs.tools.sem.CheckedBehavior.Compliant).withStrictFloats(true) }' \ - ++$scala "testSuite/testOnly -- -- -trhino -tsource-maps -tcompliant-asinstanceofs -tstrict-floats" \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps -tcompliant-asinstanceofs -tstrict-floats" \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps -tcompliant-asinstanceofs -tstrict-floats" \ - testSuite/clean && - sbt 'set scalaJSSemantics in ScalaJSBuild.testSuite ~= { _.withAsInstanceOfs(scala.scalajs.tools.sem.CheckedBehavior.Compliant).withStrictFloats(true) }' \ - 'set scalaJSOptimizerOptions in ScalaJSBuild.testSuite ~= (_.withDisableOptimizer(true))' \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps -tcompliant-asinstanceofs -tstrict-floats" \ - testSuite/clean && - sbt 'set inScope(ThisScope in ScalaJSBuild.helloworld)(postLinkJSEnv := PhantomJSEnv().value)' \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala "testSuite/testOnly -- -- -tphantomjs" \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala "testSuite/testOnly -- -- -tphantomjs" \ - testSuite/clean && - sbt 'set scalacOptions in ScalaJSBuild.testSuite += "-Xexperimental"' \ - ++$scala "testSuite/testOnly -- -- -trhino -tsource-maps" \ - 'set scalaJSStage in Global := FastOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala "testSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" && - sbt 'set scalaJSStage in Global := FastOptStage' \ - ++$scala "javalibExTestSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala "javalibExTestSuite/testOnly -- -- -ttypedarray -tnodejs -tsource-maps" && - sbt ++$scala compiler/test reversi/fastOptJS reversi/fullOptJS && - sbt ++$scala partest/fetchScalaSource && - sh ci/checksizes.sh $scala && - sh ci/check-partest-coverage.sh $scala - ]]></task> - - <task id="bootstrap"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt 'set scalaJSStage in Global := FastOptStage' \ - ++$scala toolsJS/test \ - 'set scalaJSStage in Global := FullOptStage' \ - ++$scala toolsJS/test - ]]></task> - - <task id="tools-cli-stubs"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt ++$scala tools/package tools/test cli/assembly stubs/package - ]]></task> - - <task id="tools-cli-stubs-sbtplugin"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt ++$scala tools/package tools/test cli/assembly stubs/package \ - sbtPlugin/package sbtPlugin/test - ]]></task> - - <task id="partestc"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt ++$scala partest/compile - ]]></task> - - <task id="sbtplugin-test"><![CDATA[ - # Publish Scala.js artifacts locally - sbt ++2.11.2 publishLocal ++2.10.4 tools/publishLocal sbtPlugin/publishLocal - # Go into standalone project and test - cd sbt-plugin-test - sbt noDOM/run withDOM/run test \ - 'set scalaJSStage in Global := FastOptStage' \ - jetty9/run test - ]]></task> - - <task id="partest-noopt"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt ++$scala package "partestSuite/testOnly -- --showDiff" - ]]></task> - - <task id="partest-fastopt"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt ++$scala package "partestSuite/testOnly -- --fastOpt --showDiff" - ]]></task> - - <task id="partest-fullopt"><![CDATA[ - export JAVA_HOME=$HOME/apps/java-$java - sbt ++$scala package "partestSuite/testOnly -- --fullOpt --showDiff" - ]]></task> - - <matrix id="pr"> - <!-- Main test tasks --> - <run task="main"> - <v n="scala">2.10.2</v> - <v n="java">1.6</v> - </run> - <run task="main"> - <v n="scala">2.10.2</v> - <v n="java">1.7</v> - </run> - <run task="main"> - <v n="scala">2.10.2</v> - <v n="java">1.8</v> - </run> - <run task="main"> - <v n="scala">2.11.2</v> - <v n="java">1.6</v> - </run> - <run task="main"> - <v n="scala">2.11.2</v> - <v n="java">1.7</v> - </run> - <run task="main"> - <v n="scala">2.11.2</v> - <v n="java">1.8</v> - </run> - <run task="main"> - <v n="scala">2.11.4</v> - <v n="java">1.7</v> - </run> - - <!-- Bootstrap test tasks --> - <run task="bootstrap"> - <v n="scala">2.10.2</v> - <v n="java">1.6</v> - </run> - <run task="bootstrap"> - <v n="scala">2.10.2</v> - <v n="java">1.7</v> - </run> - <run task="bootstrap"> - <v n="scala">2.10.2</v> - <v n="java">1.8</v> - </run> - <!-- Tools do not compile on JDK6, Scala 2.11.x (see #1235) --> - <run task="bootstrap"> - <v n="scala">2.11.2</v> - <v n="java">1.7</v> - </run> - <run task="bootstrap"> - <v n="scala">2.11.2</v> - <v n="java">1.8</v> - </run> - <!-- Tools do not compile on Scala 2.11.4 (see #1215). --> - - <!-- Tools / CLI / Stubs / sbtPlugin test tasks --> - <run task="tools-cli-stubs-sbtplugin"> - <v n="scala">2.10.4</v> - <v n="java">1.6</v> - </run> - <run task="tools-cli-stubs-sbtplugin"> - <v n="scala">2.10.4</v> - <v n="java">1.7</v> - </run> - <run task="tools-cli-stubs-sbtplugin"> - <v n="scala">2.10.4</v> - <v n="java">1.8</v> - </run> - <!-- Tools do not compile on JDK6, Scala 2.11.x (see #1235) --> - <run task="tools-cli-stubs"> - <v n="scala">2.11.2</v> - <v n="java">1.7</v> - </run> - <run task="tools-cli-stubs"> - <v n="scala">2.11.2</v> - <v n="java">1.8</v> - </run> - <!-- Tools do not compile on Scala 2.11.4 (see #1215). --> - - <!-- Partest compilation test tasks --> - <run task="partestc"> - <v n="scala">2.11.0</v> - <v n="java">1.7</v> - </run> - <run task="partestc"> - <v n="scala">2.11.1</v> - <v n="java">1.7</v> - </run> - <run task="partestc"> - <v n="scala">2.11.2</v> - <v n="java">1.7</v> - </run> - <!-- Partest does not compile on Scala 2.11.4 (see #1215). --> - - <run task="sbtplugin-test" /> - </matrix> - - <matrix id="nightly"> - <run matrix="pr" /> - - <!-- Main test tasks (all remaining Scala versions) --> - <run task="main"> - <v n="scala">2.10.3</v> - <v n="java">1.7</v> - </run> - <run task="main"> - <v n="scala">2.10.4</v> - <v n="java">1.6</v> - </run> - <run task="main"> - <v n="scala">2.10.4</v> - <v n="java">1.7</v> - </run> - <run task="main"> - <v n="scala">2.10.4</v> - <v n="java">1.8</v> - </run> - <run task="main"> - <v n="scala">2.11.0</v> - <v n="java">1.7</v> - </run> - <run task="main"> - <v n="scala">2.11.1</v> - <v n="java">1.7</v> - </run> - <run task="main"> - <v n="scala">2.11.4</v> - <v n="java">1.6</v> - </run> - <run task="main"> - <v n="scala">2.11.4</v> - <v n="java">1.8</v> - </run> - - <!-- Bootstrap test tasks (all remaining Scala versions) --> - <run task="bootstrap"> - <v n="scala">2.10.3</v> - <v n="java">1.7</v> - </run> - <run task="bootstrap"> - <v n="scala">2.10.4</v> - <v n="java">1.6</v> - </run> - <run task="bootstrap"> - <v n="scala">2.10.4</v> - <v n="java">1.7</v> - </run> - <run task="bootstrap"> - <v n="scala">2.10.4</v> - <v n="java">1.8</v> - </run> - <run task="bootstrap"> - <v n="scala">2.11.0</v> - <v n="java">1.7</v> - </run> - <run task="bootstrap"> - <v n="scala">2.11.1</v> - <v n="java">1.7</v> - </run> - - <run task="partest-noopt"> - <v n="scala">2.11.2</v> - <v n="java">1.7</v> - </run> - <run task="partest-fastopt"> - <v n="scala">2.11.2</v> - <v n="java">1.7</v> - </run> - <run task="partest-fullopt"> - <v n="scala">2.11.2</v> - <v n="java">1.7</v> - </run> - </matrix> - - <matrix id="weekly"> - <!-- weekly does not have to run nightly, since they will run at the same time --> - - <run task="partest-noopt"> - <v n="scala">2.11.0</v> - <v n="java">1.7</v> - </run> - <run task="partest-fastopt"> - <v n="scala">2.11.0</v> - <v n="java">1.7</v> - </run> - <run task="partest-fullopt"> - <v n="scala">2.11.0</v> - <v n="java">1.7</v> - </run> - <run task="partest-noopt"> - <v n="scala">2.11.1</v> - <v n="java">1.7</v> - </run> - <run task="partest-fastopt"> - <v n="scala">2.11.1</v> - <v n="java">1.7</v> - </run> - <run task="partest-fullopt"> - <v n="scala">2.11.1</v> - <v n="java">1.7</v> - </run> - <run task="partest-noopt"> - <v n="scala">2.11.2</v> - <v n="java">1.8</v> - </run> - <run task="partest-fastopt"> - <v n="scala">2.11.2</v> - <v n="java">1.8</v> - </run> - <run task="partest-fullopt"> - <v n="scala">2.11.2</v> - <v n="java">1.8</v> - </run> - <!-- - Partest does sometimes not compile on JDK6 (see #1227) we - therefore do not run any JDK6 partests. - - Partest does not compile on Scala 2.11.4 (see #1215). - --> - </matrix> - -</ci> diff --git a/examples/scala-js/ci/scalajs-matrix-build.groovy b/examples/scala-js/ci/scalajs-matrix-build.groovy deleted file mode 100644 index f2a661a..0000000 --- a/examples/scala-js/ci/scalajs-matrix-build.groovy +++ /dev/null @@ -1,57 +0,0 @@ -out.println("Trying to run matrix ${params.matrix}") - -out.println("Loading ci/matrix.xml") - -def matrixFile = build.properties.moduleRoot.child("ci/matrix.xml") -def fact = javax.xml.parsers.DocumentBuilderFactory.newInstance() -def builder = fact.newDocumentBuilder() - -ciMatrix = builder.parse(matrixFile.read()) - -out.println("Loading relevant definitions") - -buildDefs = [] - -fetchMatrix(params.matrix) - -def fetchMatrix(matrixName) { - def matrix = ciMatrix.getElementById(matrixName) - def list = matrix.getElementsByTagName("run") - for (int i = 0; i < list.getLength(); ++i) { - handleRun(list.item(i)) - } -} - -def handleRun(run) { - def attrs = run.getAttributes() - def matrixAttr = attrs.getNamedItem("matrix") - def taskAttr = attrs.getNamedItem("task") - if (matrixAttr != null) - fetchMatrix(matrixAttr.getValue()) - else if (taskAttr != null) - fetchTask(taskAttr.getValue(), run) -} - -def fetchTask(taskName, runElem) { - def taskElem = ciMatrix.getElementById(taskName) - def taskStr = taskElem.getTextContent() - def fullTaskName = taskName - - runElem.getElementsByTagName("v").each { v -> - def name = v.getAttribute("n") - def value = v.getTextContent() - taskStr = taskStr.replace('$' + name, value) - fullTaskName += " $name=$value" - } - - out.println("Found task: $fullTaskName") - - buildDefs.add({ - build("scalajs-task-worker", - refspec: params.refspec, - sha1: params.sha1, - taskCommand: taskStr) - }) -} - -parallel(buildDefs) |