-
Notifications
You must be signed in to change notification settings - Fork 181
Comprehensive workflow end-to-end testing #256
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
Conversation
34c34fa
to
47a3f31
Compare
d1b3d13
to
4a10a08
Compare
Awesome +💯 |
Wooo tests! +1 |
This is very good starting point, but there is one problem, I cannot run this in my own machine because it based on circle config file.. Or can I? |
f256b33
to
08d8d8a
Compare
I propose to use python unittest instead of this little hacky solution.. |
What is the motivation behind not using the standard unitest framework? |
@jupe Hope you're happy to contribute it :) |
@mjs-arm The original requirement was to provide comprehensive workflow test coverage for mbed CLI, where every pull request is tested against the workflow tests and also against the low-level py.test (http://pytest.org/latest/) tests that @geky contributed. The workflow tests in this PR are using CircleCI's YAML script file and it was requested for these tests to be locally reproducible, thus I provided an additional script that uses exactly the CircleCI YAML script. A unittest implementation was not part of the requirements, but I'd like to welcome you to contribute unittest based tests which can complement the tests provided in this PR. |
@screamerbg Why is this not written with Then |
circle.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why other tests are disabled now ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for spotting this
08d8d8a
to
ff54835
Compare
Question, what benefit is there for using unittest here? These aren't unit tests. Maybe it would be better if circleci wasn't in the middle, maybe a list of commands in a py file or just a shell script, but this seems like a perfectly fine test to have. |
Unittest framework give u a lot of benefits: e.g. proper results view (e.g. junit file), assert functions, coverage, test discover and runners, ... All what u need anyway.. Why to reinvent the wheel? Most of python based apps and tools we have uses this. |
unittest framework doesn't mean that u couldnt create e2e tests with it. |
I mean, just because you can doesn't mean you should. This sounds like you're changing a tire with pliers. It'd be nice to have a single entry point, but it's also nice to not have a ~10min test in the middle of a unit tests. I'm sure there's a command to filter it out, but at that point I'd rather just have two different commands for different tests. Just my 2 cents. It's all going through circleCI anyways, and I like CI over no CI. |
66dc0fe
to
abe4896
Compare
* `mbed new` with mbed-os imported * `mbed import` for git, hg and bld examples
This also tests garbage collecting of obsolete repos and also changed repo URLs
Also test for protocol ssh
abe4896
to
88fcdca
Compare
The PR adds tests to Circle CI for the following workflows and backward compatibility
mbed OS 5.0 - new program (latest mbed OS)
mbed test
mbed OS 5.0 - mbed Client example (SiP workshop)
mbed OS pre-5.0 - mbed Client example (Morpheus workshop)
mbed OS 2.0 - USB example
Commands used:
mbed new
which also clones mbed-osmbed import
(indirectlymbed deploy
) for git, hg, bld (mbed 2.0) based example programsmbed update <rev>
to a specific revision, which tests garbage collecting of obsolete repos and also repos with different URLsmbed update
to latest repo in a branch (tests GC and repos with different URLs as wellmbed compile
for mbed OS 5.0, mbed Morpheus and mbed 2.0 SDK programsmbed toolchain
to set default toolchainmbed target
to set default targetmbed config
to set default protocolmbed ls