summaryrefslogtreecommitdiff
path: root/examples/scala-js/ci
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/ci')
-rwxr-xr-xexamples/scala-js/ci/check-partest-coverage.sh58
-rwxr-xr-xexamples/scala-js/ci/checksizes.sh65
-rw-r--r--examples/scala-js/ci/matrix.xml360
-rw-r--r--examples/scala-js/ci/scalajs-matrix-build.groovy57
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)