Comments (8)
It looks like the simulate
script should return a non-zero error code but might not do that. Would be good to confirm. If it does correctly return an error then something is wrong in the infrastructure setup, but it does report other errors, so it is likely something subtle in that case.
from ci-actions.
The simulate
scriupt is doing what it's meant to; but the test needs to look at the output and check it's getting to guetst userspace
from ci-actions.
Result of further investigation: the expect
command we've been using for the simulate script will always return exit code 0
, so will never fail. This goes back to bamboo times already, so who knows how many failures have been masked by it in the past (although hw runs will show them, so probably fine after all).
The main thing that is needed is to add a timeout
pattern to expect
, eg. something like
expect {
timeout {exit 1}
"{success}" {exit 0}
}'
from ci-actions.
The reason the simulation scripts have worked in sel4test is that we also parse the output of the test itself into junit format and detect errors that way. For simulation runs that only wait for the success string, that step is missing.
from ci-actions.
Reopening, because the issue still persists after #340. In fact, now sel4test-sim takes much longer, because it always is hitting the timeout, even in the success case, and camkes-vm-examples is still failing + hitting the timeout.
Need to investigate more.
from ci-actions.
I think the problem now is the lack of a success criterion in the build.yaml
from ci-actions.
I think I have it now. I got the syntax slightly wrong, it should be:
expect -c "spawn ./simulate; set timeout XX; expect \"good output\" {exit 0} \"bad output\" {exit 1} timeout {exit 1}"
and I had:
expect -c "spawn ./simulate; set timeout XX; expect { \"good output\" {exit 0} \"bad output\" {exit 1} timeout {exit 1} }"
That additional pair of braces made everything an action, and the expect
part was basically empty. Will put up a PR.
from ci-actions.
This now appears to be working properly and also fails fast when the known error string is detected.
from ci-actions.
Related Issues (20)
- adjust sel4bench parameters for hifive
- use l4v sorry-count.sh
- update actions to node16
- update use of `set-output` HOT 1
- make sel4bench run available on seL4 PRs HOT 1
- compile action should test MCS HOT 2
- fix set-ouput breakage HOT 2
- find hg versions that work for the Isabelle mirror HOT 2
- Using fork of ci-action fails HOT 2
- Build and simulate sel4test for Microchip PolarFire Icicle Kit HOT 1
- Build seL4 and seL4test for all supported platforms HOT 5
- thylint action should not fail on deleted files
- preprocess bump for MCS
- record successful test revisions for mcs.xml
- ARM_MCS_verified.cmake not used by CI when running seL4/ci-actions/standalone-kernel HOT 2
- Drop march from platforms.yml if there is no use HOT 4
- upgrade actions to Node 20 HOT 4
- python style check fails with internal error HOT 5
- Dockerhub still advertises obsolete trustworthysystems/sel4-riscv HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ci-actions.