Skip to content

Commit

Permalink
kiele runner script (#222)
Browse files Browse the repository at this point in the history
* iele-testing: remove non-determinism with acccount loading

* kiele: initial runner script

* Makefile: remove tangle references

* kiele: updates to runner script

* Makefile: more files installed globally

* .gitignore: ignore generated test-assembled files

* Jenkinsfile, Makefile, kiele: enable vm tests

* package/debian/test-package: correct testing script

* blockchaintest, vmtest, vmtest-haskell: remove uneeded files

* kiele: add module argument

* Jenkinsfile, Makefile, tests/failing: more granular testing system

* kiele: allow specifying definition to use

* Makefile: install entire kompiled directory

* Makefile: update PHONY list

* Makefile: formatting

* Makefile: simplify target listing

* Makefile: rename build-coverage => coverage

* kiele: add port option for vm

* Jenkinsfile: simpler port setup for testing

* Jenkinsfile: explicitely kill process

* Makefile: make sure release file contains installation instructions

* INSTALL: add link to github releases

* Makefile: add test-interactive target for direct runs of kiele script

* Jenkinsfile: run test-interactive target

* Jenkinsfile: consolidate node tests

* .gitignore: update

* package/debian/test-package: update test-suite run on ubuntu package

* kiele: more informative error message

* Makefile, package/debian/test-package: do not install checker or testing harness yes

* Makefile: correct installation for syntaxDefinition.kore

* Makefile: correct test dependency

* kiele: include global install lib on PATH

* Makefile: correct double-//

* Makefile: correct dependency for haskell_kompiled

* kiele: avoid accidental invocation of krun

* Makefile: test-interactive runs a test that will actually be available

* kiele: correct INSTALL_BIN/INSTALL_LIB

* Makefile, package/debian/test-package: do not run interactive tests on package for KIELE

* Makefile: avoid kiele krun on interactive tests

* Jenkinsfile, test-package: allow specifying TEST_PORT on command line

Co-authored-by: rv-jenkins <admin@runtimeverification.com>
  • Loading branch information
ehildenb and rv-jenkins authored Dec 17, 2020
1 parent 0be31cd commit c27f29a
Show file tree
Hide file tree
Showing 13 changed files with 864 additions and 410 deletions.
24 changes: 2 additions & 22 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,28 +1,8 @@
/.build/*

!/.build/uiuck/
/.build/uiuck/*
!/.build/uiuck/*.k

!/.build/rvk/
/.build/rvk/*

!/.build/secp256k1
!/.build/pyethereum
!/.build/tangle

/tests/proofs

# This holds the tests that are split into one test per file from
# the ethereum tests
/.build
/tests/VMTests
/tests/BlockchainTests

# Directory for storing temporary files like logs, snippets and TODO lists.
/tests/**/*.test-assembled
/tmp

# TODO: The RVK make recipie should be putting these in .build

/.kompile*
/.kprove*
/.krun*
Expand Down
2 changes: 2 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ We support the following installation methods:
- [Nix](#nix) (Linux and macOS)
- [Build from source](#build-from-source) (Linux and macOS)

Our most up-to-date packages are available at <https://github.com/runtimeverification/iele-semantics/releases>.

**NOTE**: We do not currently support running K on native Windows.
To use K on Windows, you are encouraged to install [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) and follow the instructions for Ubuntu Bionic.

Expand Down
40 changes: 20 additions & 20 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,29 @@ pipeline {
}
}
stages {
stage('Build') { steps { sh 'make COVERAGE=k -j4' } }
stage('Build') { steps { sh 'make build -j4' } }
stage('Split Tests') { steps { sh 'make split-tests -j4' } }
stage('Test') {
stages {
stage('VM Tests') {
options { timeout(time: 5, unit: 'MINUTES') }
options { timeout(time: 5, unit: 'MINUTES') }
parallel {
stage('EVM Tests') { steps { sh 'make test-vm -j4' } }
stage('IELE Tests') { steps { sh 'make test-iele -j4' } }
stage('VM Tests (Haskell)') { steps { sh 'make test-vm -j4 TEST_BACKEND=haskell' } }
stage('Well Formed Check') { steps { sh 'make test-wellformed -j4' } }
stage('Interactive') { steps { sh 'make test-interactive' } }
stage('Node') {
steps {
ansiColor('xterm') {
sh '''#!/bin/bash -ex
.build/vm/iele-vm 0 127.0.0.1 > port &
sleep 3
export PORT=`cat port | awk -F ':' '{print $2}'`
make test -j`nproc` -k
make coverage
kill %1
'''
}
sh '''
export PATH=$(pwd)/.build/bin:$PATH
kiele vm --port 9001 &
pid=$!
sleep 3
make test-iele-node -j4 TEST_PORT=9001
make test-bad-packet -j4 TEST_PORT=9001
kill $pid
'''
}
}
stage('Haskell Standalone') {
options { timeout(time: 5, unit: 'MINUTES') }
failFast true
steps { sh 'make -j2 iele-test-haskell' }
}
}
}
}
Expand Down Expand Up @@ -102,7 +102,7 @@ pipeline {
steps {
dir("kiele-${env.KIELE_VERSION}-bionic-test") {
unstash 'bionic-kiele'
sh '../kiele-${KIELE_VERSION}-bionic/package/debian/test-package.sh ${KIELE_VERSION} bionic ${LONG_REV}'
sh '../kiele-${KIELE_VERSION}-bionic/package/debian/test-package.sh ${KIELE_VERSION} bionic ${LONG_REV} 9001'
}
}
}
Expand Down
Loading

0 comments on commit c27f29a

Please sign in to comment.