librecores / librecores-ci-jenkins-server

LibreCores Continuous Integration
https://ci.librecores.org/
MIT License
36 stars 8 forks source link

Setup demo CI flow for mor1kx #3

Open oleg-nenashev opened 7 years ago

oleg-nenashev commented 7 years ago

The flow should include:

@wallento is also going to provide TAP reporting in FuseSoC. If it's done, we will need to write converter for xUnit plugin

olofk commented 7 years ago

I would recommend that we use the "official" or1k test cases https://github.com/openrisc/or1k-tests/tree/master/native/or1k for this.

They also all output 0x8000000d (good) or 0xbaaaaaad to signal test status. For these tests I think it would make more sense to convert that to xUnit.

oleg-nenashev commented 7 years ago

@olofk makes sense. So ideally all tests should be compilable via https://github.com/openrisc/or1k-tests/blob/master/native/Makefile if I setup the proper environment

olofk commented 7 years ago

Correct. Some of them fails in the current state, so I recommend running them with a timeout. Can't remember a good timeout value now unfortunately.

So the complete fusesoc command would be `fusesoc sim mor1kx-generic --elf-load=$file --timeout=$some_timeout_value

Might want to add --trace_enable also to get the CPU traces written to mor1kx-{general,trace}.log

I guess Jenkins can also handle timeouts, but if we do it with FuseSoC it will be independent of the speed of the build machine, since the timeout is in simulated clock cycles