-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
containerized test automation #49
Conversation
031adb5
to
3b20b6a
Compare
We want to use the latest build of the UQ-PAC fork of BAP, not the upstream release. This fork comes with the ASLi plugin, so you don't need to go to the hassle of compiling that separately either. liftasli.sh (and all the other scripts there) are a bit out of date. As I said before, the scripts in We also don't really need github actions for testing lifting, I'm just not sure what the point of that is? A bit to the side, I've been thinking it would probably be good to set up a new system of lifting, with a makefile per example that defines which compiler and compiler flags we want to use for each example, rather than the current system which just uses every combination of compiler and flags for every example which gives us more coverage than we need - the differences aren't interesting for every example. |
Hi Liam I've updated it to use the bap fork. The lifting test is mostly pointless it was just there as a basic test of the container so that the whole system works. Also note the new scripts eg I don't include the systemtests in the action since they take a very long time to run and we have limited actions minutes, do you think its worth including maybe a single one? I definitely agree on moving towards makefiles rather than scripts. 8828da8 adds another dockerfile which bundles a godbolt instance with all the neccessary tools, so you can complile a c file in the web interface, add the basil tool and see the boogie output. As an aside, did you refactor the basil arg parsing somewhere? I'd also like to know if I can find your WIP atomics example somewhere. |
If we aren't including the system tests because they take too much time to run then there's not really much point to the github actions at all at this stage? Maybe just the bitvector tests and testing Do you mean the ones with For reasons I'm unsure of, I wouldn't recommend using I haven't refactored the argument parsing, the only difference from the documentation is that there's also the I'm hoping to have the chase-lev-deque example with atomics in the repo either later today or tomorrow. |
add default sbt test github action
Ubuntu's cross-compiler in docker fails to link with stack protector enabled.
16a2b1c
to
3291e94
Compare
Is it a good idea to use the tests you've chosen to automate if we're only going to automate a small number? Some of those don't pass as-is, so it'll just inevitably tell people the build is broken, and some of them are a bit redundant. |
febcec8
to
619976d
Compare
619976d
to
6dc0c0a
Compare
Yes we should use tests that pass |
Adds container config to compile and test bap, aslp, the bap aslp plugin, and basil, and a github action to execute tests automatically.
This means we automatically check if any PR compiles and passes the bitvec tests.
There are also some changes to the test scripts so they work with ubuntu's cross compile toolchain in the docker file.
Todo: