Skip to content
Snippets Groups Projects
Commit 2876169a authored by Stepan Sindelar's avatar Stepan Sindelar
Browse files

[GR-9585] Add downstream tests.

PullRequest: fastr/1496
parents e4897acd 8a03fdcd
No related branches found
No related tags found
No related merge requests found
......@@ -3,272 +3,11 @@
# but it provide details on the commands that are used and these should be
# executable in isolation; see further comments below.
# java 7 is needed by Truffle (for now)
java7 : {name : oraclejdk, version : "7", platformspecific: true}
# java 8 must be a jvmci enabled variant
java8 : {name : labsjdk, version : "8u161-jvmci-0.41", platformspecific: true}
java9 : {name : labsjdk, version : "9-ea+168", platformspecific: true}
java8Downloads : {
downloads : {
EXTRA_JAVA_HOMES : { pathlist :[
${java7}
${java9}
]}
JAVA_HOME : ${java8}
}
}
java9Downloads : {
downloads : {
EXTRA_JAVA_HOMES : { pathlist :[
${java7}
${java8}
]}
JAVA_HOME : ${java9}
}
}
logfiles : [
"fastr_errors.log"
"results.json"
"libdownloads/R-*/gnur_configure.log"
"libdownloads/R-*/config.log"
"libdownloads/R-*/gnur_make.log"
"libdownloads/R-*/Makeconf"
"com.oracle.truffle.r.native/gnur/tests/log/all.diff"
"com.oracle.truffle.r.test.native/embedded/*.output"
"com.oracle.truffle.r.test.native/embedded/src/*.output"
"*-tests/**/*.Rout"
]
# This is needed by all (Linux) builds but is specific to the module system employed
# on the CI cluster. Not all of the modules are needed by FastR but all are needed by the
# embedded GNU R that is built within FastR.
pkgEnvironment: {
environment : {
PKG_INCLUDE_FLAGS_OVERRIDE : """-I/cm/shared/apps/zlib/1.2.8/include -I/cm/shared/apps/bzip2/1.0.6/include -I/cm/shared/apps/xz/5.2.2/include -I/cm/shared/apps/pcre/8.38/include -I/cm/shared/apps/curl/7.50.1/include"""
PKG_LDFLAGS_OVERRIDE : """"-L/cm/shared/apps/zlib/1.2.8/lib -L/cm/shared/apps/bzip2/1.0.6/lib -L/cm/shared/apps/xz/5.2.2/lib -L/cm/shared/apps/pcre/8.38/lib -L/cm/shared/apps/curl/7.50.1/lib -L/cm/shared/apps/gcc/4.9.1/lib64""""
TZDIR: "/usr/share/zoneinfo"
}
}
packagesLinux : ${pkgEnvironment} {
packages : {
git : ">=1.8.3"
mercurial : ">=2.2"
"pip:astroid" : "==1.1.0"
"pip:pylint" : "==1.1.0"
make : ">=3.83"
gcc-build-essentials : "==4.9.1" # GCC 4.9.0 fails on cluster
readline : "==6.3"
pcre : ">=8.38"
zlib : ">=1.2.8"
curl : ">=7.50.1"
}
}
packagesDarwin : {
"pip:astroid" : "==1.1.0"
"pip:pylint" : "==1.1.0"
"pcre" : "==8.38"
}
# Common settings for all builds but note that it uses the Linux package settings,
# so these must be overridden in any darwin builds
common : ${java8Downloads} ${packagesLinux} {
logs: ${logfiles}
timelimit : "1:00:00"
}
# Every "pull request" (PR) is subject to a series of "gate" commands that must pass
# for the PR to be accepted into the master branch. The gate commands are run under
# the "mx" tool. This defines a common prefix for all gate commands. The "-t"
# arg indicates the exact set of gate "tasks" that will be run.
gateCmd : ["mx", "--strict-compliance", "rgate", "-B=--force-deprecation-as-warning", "--strict-mode", "-t"]
# currently disabled gate commands: FindBugs,Checkheaders,Distribution Overlap Check
# The standard set of gate tasks: the actual executable tests are in the "UnitTests" task.
gateTestCommon : ${common} {
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac,UnitTests: with specials,Rembedded"]
]
}
gateTestLinux : ${gateTestCommon} {
}
gateTestNoSpecialsLinux : ${common} {
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac,UnitTests: no specials"]
]
}
darwinEnvironment : {
environment : {
PATH : "/usr/local/bin:$JAVA_HOME/bin:$PATH"
F77: "/usr/local/bin/gfortran-4.9"
TZDIR: "/usr/share/zoneinfo"
PKG_INCLUDE_FLAGS_OVERRIDE : """-I/cm/shared/apps/pcre/8.38/include -I/cm/shared/apps/bzip2/1.0.6/include -I/cm/shared/apps/xz/5.2.2/include -I/cm/shared/apps/curl/7.50.1/include"""
PKG_LDFLAGS_OVERRIDE : """" -L/cm/shared/apps/bzip2/1.0.6/lib -L/cm/shared/apps/xz/5.2.2/lib -L/cm/shared/apps/pcre/8.38/lib -L/cm/shared/apps/curl/7.50.1/lib -L/cm/shared/apps/gcc/4.9.1/lib64 -L/usr/local/Cellar/gcc@4.9/4.9.4/lib/gcc/4.9/ -L/usr/lib""""
}
}
gateTestDarwin : ${gateTestCommon} ${darwinEnvironment} {
packages : ${packagesDarwin}
}
gateTestLinuxNFI : ${gateTestCommon} {
environment : {
FASTR_RFFI : "nfi"
TZDIR: "/usr/share/zoneinfo"
}
}
requireGCC: {
downloads: {
DRAGONEGG_GCC: {name: "gcc+dragonegg", version: "4.6.4-1", platformspecific: true}
DRAGONEGG_LLVM: {name: "clang+llvm", version: "3.2", platformspecific: true}
}
}
gateTestLinuxLLVM : ${common} ${requireGCC} {
packages: {
llvm: "==3.8"
}
environment : {
TZDIR: "/usr/share/zoneinfo"
FASTR_RFFI : "llvm"
FASTR_LLVM_TOOLS : "$DRAGONEGG_LLVM/bin"
FASTR_LLVM_GFORTRAN_LLVM_AS : "$DRAGONEGG_LLVM/bin/llvm-as"
FASTR_LLVM_GFORTRAN : "$DRAGONEGG_GCC/bin/gfortran"
FASTR_LLVM_DRAGONEGG : "$DRAGONEGG_GCC/lib/dragonegg.so"
DEFAULT_DYNAMIC_IMPORTS : "sulong"
}
setup: [
["git", "clone", ["mx", "urlrewrite", "https://github.com/graalvm/sulong.git"], "../sulong"],
["mx", "sforceimports"],
["git","clone", "--depth", "1", ${repoBase}"r-apptests.git", "../r-apptests"]
]
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac"]
["mx", "rscript", "../r-apptests/renjin-tests/driver.R", "--setwd", "../r-apptests/renjin-tests/"]
["mx", "pkgtest", "--repos", "FASTR", "--run-tests", "testrffi"]
]
}
gateTestJava9Linux : ${java9Downloads} ${gateTestCommon} {
downloads : {
JAVA_HOME : ${java9Downloads.downloads.JAVA_HOME}
EXTRA_JAVA_HOMES : ${java9Downloads.downloads.EXTRA_JAVA_HOMES}
}
}
gateTestDarwinLLVM: ${common} ${darwinEnvironment} ${requireGCC} {
packages : ${packagesDarwin} {
llvm: "==4.0.1"
}
environment : {
FASTR_RFFI : "llvm"
FASTR_LLVM_TOOLS : "$DRAGONEGG_LLVM/bin"
FASTR_LLVM_GFORTRAN_LLVM_AS : "$DRAGONEGG_LLVM/bin/llvm-as"
FASTR_LLVM_GFORTRAN : "$DRAGONEGG_GCC/bin/gfortran"
FASTR_LLVM_DRAGONEGG : "$DRAGONEGG_GCC/lib/dragonegg.so"
DEFAULT_DYNAMIC_IMPORTS : "sulong"
# homebrew doesn't put llvm on the path by default
PATH: "/usr/local/Cellar/llvm@4/4.0.1/bin:$PATH"
LC_MESSAGES: "en_US"
LC_COLLATE: "en_US"
LC_TIME: "en_US"
LC_MONETARY: "en_US"
LC_COLLATE: "en_US.UTF-8"
}
setup: [
["ls", "/usr/local/Cellar"]
["git", "clone", ["mx", "urlrewrite", "https://github.com/graalvm/sulong.git"], "../sulong"],
["mx", "sforceimports"],
["git", "clone", "--depth", "1", ${repoBase}"r-apptests.git", "../r-apptests"]
]
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac"]
["mx", "rscript", "../r-apptests/renjin-tests/driver.R", "--setwd", "../r-apptests/renjin-tests/"]
["mx", "pkgtest", "--repos", "FASTR", "--run-tests", "testrffi"]
]
}
# This performs a number of "style" checks on the code to ensure it confirms to the project standards.
gateStyle : ${common} {
# need pyhocon fix
downloads : {
JAVA_HOME : ${java8Downloads.downloads.JAVA_HOME}
EXTRA_JAVA_HOMES : ${java8Downloads.downloads.EXTRA_JAVA_HOMES}
JDT : {name: ecj, version: "4.5.1", platformspecific: false}
ECLIPSE : {name: eclipse, version: "4.5.2", platformspecific: true}
}
environment : {
ECLIPSE_EXE : "$ECLIPSE/eclipse"
}
run : [
${gateCmd} ["Versions,JDKReleaseInfo,Pylint,Canonicalization Check,BuildJavaWithJavac,IDEConfigCheck,CodeFormatCheck,Checkstyle,Copyright check,UnitTests: ExpectedTestOutput file check"]
]
}
gateBuildWithEcj : ${common} {
# need pyhocon fix
downloads : {
JAVA_HOME : ${java8Downloads.downloads.JAVA_HOME}
EXTRA_JAVA_HOMES : ${java8Downloads.downloads.EXTRA_JAVA_HOMES}
JDT : {name: ecj, version: "4.5.1", platformspecific: false}
ECLIPSE : {name: eclipse, version: "4.5.2", platformspecific: true}
}
environment : {
ECLIPSE_EXE : "$ECLIPSE/eclipse"
}
run : [
["mx", "build"]
]
}
# This check runs diagnostics on the implementation of the R "builtins" in FastR, e.g., that the argument processing is sound.
rbcheck : ${common} {
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac"]
["mx", "rbcheck"]
["mx", "rbdiag"]
]
}
internalPkgtest: ${common} {
run : [
["mx", "build"]
["mx", "pkgtest", "--repos", "FASTR", "--pkg-filelist", "com.oracle.truffle.r.test.native/packages/pkg-filelist"]
]
logs: ${common.logs}
}
gnurTests: ${common} {
run : [
["mx", "build"]
["mx", "gnu-rtests"]
]
}
include "ci_common/common.hocon"
# The standard set of gate builds. N.B. the style/builtin checks are only run on Linux as they are not OS-dependent.
overlay = "6c3623c5f1394db280dca1243f88e61f806672f2"
builds = [
${gateTestLinux} {capabilities : [linux, amd64, fast], targets : [gate], name: "gate-test-linux-amd64"}
${gateTestNoSpecialsLinux} {capabilities : [linux, amd64, fast], targets : [gate], name: "gate-test-linux-amd64-nospecials"}
......@@ -279,7 +18,4 @@ builds = [
${internalPkgtest} {capabilities : [linux, amd64], targets : [gate], name: "gate-internal-pkgtest-linux-amd64"}
${gateTestJava9Linux} {capabilities : [linux, amd64, fast], targets : [gate], name: "gate-test-java9-linux-amd64"}
${gnurTests} {capabilities : [linux, amd64, fast], targets : [gate], name: "gate-gnur-tests"}
# disabled because of spurious dragonegg problems
#${gateTestLinuxLLVM} {capabilities: [linux, amd64], targets : [gate], name: "gate-test-llvm-linux-amd64" }
#${gateTestDarwinLLVM} {capabilities: [darwin_sierra, amd64], targets : [gate], name: "gate-test-llvm-darwin-amd64" }
]
# java 7 is needed by Truffle (for now)
java7 : {name : oraclejdk, version : "7", platformspecific: true}
# java 8 must be a jvmci enabled variant
java8 : {name : labsjdk, version : "8u161-jvmci-0.41", platformspecific: true}
java9 : {name : labsjdk, version : "9-ea+168", platformspecific: true}
java8Downloads : {
downloads : {
EXTRA_JAVA_HOMES : { pathlist :[
${java7}
${java9}
]}
JAVA_HOME : ${java8}
}
}
java9Downloads : {
downloads : {
EXTRA_JAVA_HOMES : { pathlist :[
${java7}
${java8}
]}
JAVA_HOME : ${java9}
}
}
logfiles : [
"fastr_errors.log"
"results.json"
"libdownloads/R-*/gnur_configure.log"
"libdownloads/R-*/config.log"
"libdownloads/R-*/gnur_make.log"
"libdownloads/R-*/Makeconf"
"com.oracle.truffle.r.native/gnur/tests/log/all.diff"
"com.oracle.truffle.r.test.native/embedded/*.output"
"com.oracle.truffle.r.test.native/embedded/src/*.output"
"*-tests/**/*.Rout"
]
# This is needed by all (Linux) builds but is specific to the module system employed
# on the CI cluster. Not all of the modules are needed by FastR but all are needed by the
# embedded GNU R that is built within FastR.
pkgEnvironment: {
environment : {
PKG_INCLUDE_FLAGS_OVERRIDE : """-I/cm/shared/apps/zlib/1.2.8/include -I/cm/shared/apps/bzip2/1.0.6/include -I/cm/shared/apps/xz/5.2.2/include -I/cm/shared/apps/pcre/8.38/include -I/cm/shared/apps/curl/7.50.1/include"""
PKG_LDFLAGS_OVERRIDE : """"-L/cm/shared/apps/zlib/1.2.8/lib -L/cm/shared/apps/bzip2/1.0.6/lib -L/cm/shared/apps/xz/5.2.2/lib -L/cm/shared/apps/pcre/8.38/lib -L/cm/shared/apps/curl/7.50.1/lib -L/cm/shared/apps/gcc/4.9.1/lib64""""
TZDIR: "/usr/share/zoneinfo"
}
}
packagesLinux : ${pkgEnvironment} {
packages : {
git : ">=1.8.3"
mercurial : ">=2.2"
"pip:astroid" : "==1.1.0"
"pip:pylint" : "==1.1.0"
make : ">=3.83"
gcc-build-essentials : "==4.9.1" # GCC 4.9.0 fails on cluster
readline : "==6.3"
pcre : ">=8.38"
zlib : ">=1.2.8"
curl : ">=7.50.1"
}
}
packagesDarwin : {
"pip:astroid" : "==1.1.0"
"pip:pylint" : "==1.1.0"
"pcre" : "==8.38"
}
# Common settings for all builds but note that it uses the Linux package settings,
# so these must be overridden in any darwin builds
common : ${java8Downloads} ${packagesLinux} {
logs: ${logfiles}
timelimit : "1:00:00"
}
# Every "pull request" (PR) is subject to a series of "gate" commands that must pass
# for the PR to be accepted into the master branch. The gate commands are run under
# the "mx" tool. This defines a common prefix for all gate commands. The "-t"
# arg indicates the exact set of gate "tasks" that will be run.
gateCmd : ["mx", "--strict-compliance", "rgate", "-B=--force-deprecation-as-warning", "--strict-mode", "-t"]
# currently disabled gate commands: FindBugs,Checkheaders,Distribution Overlap Check
# The standard set of gate tasks: the actual executable tests are in the "UnitTests" task.
gateTestCommon : ${common} {
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac,UnitTests: with specials,Rembedded"]
]
}
gateTestLinux : ${gateTestCommon} {
}
gateTestNoSpecialsLinux : ${common} {
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac,UnitTests: no specials"]
]
}
darwinEnvironment : {
environment : {
PATH : "/usr/local/bin:$JAVA_HOME/bin:$PATH"
F77: "/usr/local/bin/gfortran-4.9"
TZDIR: "/usr/share/zoneinfo"
PKG_INCLUDE_FLAGS_OVERRIDE : """-I/cm/shared/apps/pcre/8.38/include -I/cm/shared/apps/bzip2/1.0.6/include -I/cm/shared/apps/xz/5.2.2/include -I/cm/shared/apps/curl/7.50.1/include"""
PKG_LDFLAGS_OVERRIDE : """" -L/cm/shared/apps/bzip2/1.0.6/lib -L/cm/shared/apps/xz/5.2.2/lib -L/cm/shared/apps/pcre/8.38/lib -L/cm/shared/apps/curl/7.50.1/lib -L/cm/shared/apps/gcc/4.9.1/lib64 -L/usr/local/Cellar/gcc@4.9/4.9.4/lib/gcc/4.9/ -L/usr/lib""""
}
}
gateTestDarwin : ${gateTestCommon} ${darwinEnvironment} {
packages : ${packagesDarwin}
}
gateTestLinuxNFI : ${gateTestCommon} {
environment : {
FASTR_RFFI : "nfi"
TZDIR: "/usr/share/zoneinfo"
}
}
requireGCC: {
downloads: {
DRAGONEGG_GCC: {name: "gcc+dragonegg", version: "4.6.4-1", platformspecific: true}
DRAGONEGG_LLVM: {name: "clang+llvm", version: "3.2", platformspecific: true}
}
}
gateTestJava9Linux : ${java9Downloads} ${gateTestCommon} {
downloads : {
JAVA_HOME : ${java9Downloads.downloads.JAVA_HOME}
EXTRA_JAVA_HOMES : ${java9Downloads.downloads.EXTRA_JAVA_HOMES}
}
}
# This performs a number of "style" checks on the code to ensure it confirms to the project standards.
gateStyle : ${common} {
# need pyhocon fix
downloads : {
JAVA_HOME : ${java8Downloads.downloads.JAVA_HOME}
EXTRA_JAVA_HOMES : ${java8Downloads.downloads.EXTRA_JAVA_HOMES}
JDT : {name: ecj, version: "4.5.1", platformspecific: false}
ECLIPSE : {name: eclipse, version: "4.5.2", platformspecific: true}
}
environment : {
ECLIPSE_EXE : "$ECLIPSE/eclipse"
}
run : [
${gateCmd} ["Versions,JDKReleaseInfo,Pylint,Canonicalization Check,BuildJavaWithJavac,IDEConfigCheck,CodeFormatCheck,Checkstyle,Copyright check,UnitTests: ExpectedTestOutput file check"]
]
}
gateBuildWithEcj : ${common} {
# need pyhocon fix
downloads : {
JAVA_HOME : ${java8Downloads.downloads.JAVA_HOME}
EXTRA_JAVA_HOMES : ${java8Downloads.downloads.EXTRA_JAVA_HOMES}
JDT : {name: ecj, version: "4.5.1", platformspecific: false}
ECLIPSE : {name: eclipse, version: "4.5.2", platformspecific: true}
}
environment : {
ECLIPSE_EXE : "$ECLIPSE/eclipse"
}
run : [
["mx", "build"]
]
}
# This check runs diagnostics on the implementation of the R "builtins" in FastR, e.g., that the argument processing is sound.
rbcheck : ${common} {
run : [
${gateCmd} ["Versions,JDKReleaseInfo,BuildJavaWithJavac"]
["mx", "rbcheck"]
["mx", "rbdiag"]
]
}
internalPkgtest: ${common} {
run : [
["mx", "build"]
["mx", "pkgtest", "--repos", "FASTR", "--pkg-filelist", "com.oracle.truffle.r.test.native/packages/pkg-filelist"]
]
logs: ${common.logs}
}
gnurTests: ${common} {
run : [
["mx", "build"]
["mx", "gnu-rtests"]
]
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment