Skip to content

Commit

Permalink
Fix master build and add regression testing (#440)
Browse files Browse the repository at this point in the history
* evm-node: update to latest version of plugin

* Jenkinsfile: test firefly on PR

* Dockerfile: add npm
  • Loading branch information
dwightguth authored Aug 15, 2019
1 parent 2eaba23 commit 5e4b384
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
4 changes: 4 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ RUN git clone 'https://github.com/z3prover/z3' --branch=z3-4.6.0 \
&& cd ../.. \
&& rm -rf z3

RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install --yes nodejs
RUN npm install -g npx

USER user:user

ADD --chown=user:user deps/k/llvm-backend/src/main/native/llvm-backend/install-rust deps/k/llvm-backend/src/main/native/llvm-backend/rust-checksum /home/user/.install-rust/
Expand Down
8 changes: 8 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,14 @@ pipeline {
'''
}
}
stage('Firefly') {
steps {
sh '''
export PATH=$PATH:$(pwd)/.build/defn/vm
make test-interactive-firefly
'''
}
}
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions evm-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,10 +226,10 @@ Because the same account may be loaded more than once, implementations of this i
- `extractConfig` takes a final configuration after rewriting and extracts a `vmResult` from it in order to abstract away configuration structure from the postprocessing done by the blockchain-k-plugin.

```{.k .node}
syntax KItem ::= vmResult ( return: String , gas: Int , refund: Int , status: Int , selfdestruct: List , logs: List , AccountsCell , touched: List , statusCode: String )
syntax KItem ::= vmResult ( return: String , gas: Int , refund: Int , status: Int , selfdestruct: Set , logs: List , AccountsCell , touched: Set , statusCode: String )
syntax KItem ::= extractConfig() [function, symbol]
// ---------------------------------------------------
rule [[ extractConfig() => vmResult(#unparseByteStack(OUT), GAVAIL, REFUND, STATUS, Set2List(SD), LOGS, <accounts> ACCTS </accounts>, Set2List(TOUCHED), StatusCode2String(STATUSCODE)) ]]
rule [[ extractConfig() => vmResult(#unparseByteStack(OUT), GAVAIL, REFUND, STATUS, SD, LOGS, <accounts> ACCTS </accounts>, TOUCHED, StatusCode2String(STATUSCODE)) ]]
<output> OUT </output>
<gas> GAVAIL </gas>
<refund> REFUND </refund>
Expand Down

0 comments on commit 5e4b384

Please sign in to comment.