Niklas Hauser
61fe8e07a1
Handlers: Remove forced newline after assertion failure.
...
This was a workaround for unity's failure to add a newline after
printing an assertion failure.
This has been fixed in unity.
2016-04-28 15:17:25 -05:00
Niklas Hauser
64573c33d0
Types: allow external access to `stringify` function.
2016-04-28 15:17:21 -05:00
Niklas Hauser
b119cb2280
Case: `timeout_ms` is unsigned, use 0 as do-not-use indicator.
2016-04-28 15:17:18 -05:00
Niklas Hauser
a045c44f78
Refactor `set_up` to `setup`, `tear_down` to `teardown`. It's a verb vs. noun thing.
2016-04-28 15:17:14 -05:00
Niklas Hauser
9c32e01d52
Harness: Add `is_busy()` method.
2016-04-28 15:17:09 -05:00
Niklas Hauser
e77743d6a6
Types: Add repeat count to `control_flow_handler_t`.
2016-04-28 15:17:05 -05:00
Niklas Hauser
b3e30294cc
Overload the (Async-)Case class to take the handlers in a semantically meaningful way.
2016-04-28 15:17:01 -05:00
Niklas Hauser
7e321f8f81
Defaults: Force users to provide a greentea setup handler.
...
It displays a helpful message in case you forgot.
2016-04-28 15:16:55 -05:00
Niklas Hauser
2cf2ef5415
Move default handlers into specification.
2016-04-28 15:16:51 -05:00
Niklas Hauser
9a4e0d2da8
Add Specification class with common setup and teardown handlers.
2016-04-28 15:16:47 -05:00
Niklas Hauser
e2a5d97f77
Harness: Add empty test case detection.
2016-04-28 15:16:44 -05:00
Niklas Hauser
2bbf725bcc
Harness: Make it interrupt safe.
...
We do not want to have a call to `validate_callback()` before
`run_next_case()` is finished or while `handle_timeout()` is executing.
2016-04-28 15:16:40 -05:00
Niklas Hauser
8d84612472
Harness: Add correct handling of failures in setup and teardown handlers.
2016-04-28 15:16:36 -05:00
Niklas Hauser
cbac633aa5
Defaults: Remove unnecessary namespaces.
2016-04-28 15:16:31 -05:00
Niklas Hauser
303fa5a3a0
Defaults: Make Greentea handlers more verbose.
2016-04-28 15:16:28 -05:00
Niklas Hauser
ad8fdc62d6
Defaults: Set greentea default handlers.
2016-04-28 15:16:24 -05:00
Niklas Hauser
64f54ed35c
Harness: Call case setup only once for control flow cases.
2016-04-28 15:16:20 -05:00
Niklas Hauser
06fc81f99d
Add much better default handler declaration and usage.
2016-04-28 15:16:16 -05:00
Niklas Hauser
171033622b
Move types and classes into seperate header files. Rename TestHarness to Harness.
2016-04-28 15:16:12 -05:00
Niklas Hauser
ded41049fb
Add unity assertion failure callback handler.
2016-04-28 15:16:08 -05:00
Niklas Hauser
9f770f8ec8
This commits gets rid of all dependencies on unity.
...
Failures will not longjmp, but are reported on top of the stack,
by calling the case failure handler, which then decides whether to
continue or abort testing.
Other changes:
- Individual cases can have their own setup and teardown handlers,
- Case repeats are now handled by the case handler returning `control_flow_t`,
- Separates `status_t` and `failure_t`,
- Implements useful default case setup and teardown, and
- Keeps score of passes and failures on per case and test basis.
2016-04-28 15:16:04 -05:00
Niklas Hauser
eef649e498
Remove return type from case handler.
...
Use AsyncCase constructor to signal waiting for a async callback.
2016-04-28 15:16:00 -05:00
Niklas Hauser
e4354b2c1a
Add interface and implementation of a list based unit test harness.
2016-04-28 15:15:56 -05:00
Martin Kojtal
47390727e5
Add unity to frameworks
2016-04-28 15:15:52 -05:00
Marcus Shawcroft
bd37e5ac0a
Merge pull request #65 from geky/make-follow-symlinks
...
Add support for following symlinks in make.py
2016-04-28 16:03:40 +01:00
Bogdan Marinescu
6b3d841664
Merge pull request #56 from 0xc0170/fix_generated_dir
...
Fix generated dir
2016-04-27 10:56:19 +03:00
Martin Kojtal
80cecbfcfb
Exporters - if source, generate to projectfiles/{{ide}}
...
This allows to use multiple tools within a project, they don't affect
each other.
An example:
projectfiles/gcc_arm
projectfiles/uvision
projectfiles/iar
2016-04-26 11:44:26 -05:00
Bogdan Marinescu
e472a51e45
Merge pull request #64 from bridadan/add-test-discovery-tool
...
Adding test.py script in tools that allows you to discover tests
2016-04-25 18:17:18 +03:00
Bogdan Marinescu
22e1e9837c
Merge pull request #58 from bridadan/allow-toolchain-exclude-path
...
Allow toolchains to exclude a path when scan for resources
2016-04-25 18:14:28 +03:00
Brian Daniels
1a8b973aab
Moving test discovery logic into test_api.py. test.py is now just the CLI interface to these functions
2016-04-22 16:29:55 -05:00
Brian Daniels
9a126c4e3a
Adding script in the tools directory that allows you to discover tests
2016-04-21 13:51:51 -05:00
Christopher Haster
1fdb86eda7
Add support for following symlinks in make.py
2016-04-20 21:08:47 -05:00
Bogdan Marinescu
0a14cc45c0
Merge pull request #61 from 0xc0170/fix_#59
...
Fixes #59 - build and make - handle toolchain/target name errors
2016-04-20 19:16:50 +03:00
Brian Daniels
bbc6e2aba3
Allowing a list of exclude paths to be passed
2016-04-20 10:56:33 -05:00
Martin Kojtal
3e91490259
Build - raise exception if toolchain is not recognized
...
This sends the message that toolchain specified is not valid.
2016-04-20 13:16:37 +01:00
Martin Kojtal
227ffecb83
Make - handle invalid targets (catch KeyError)
2016-04-20 13:04:53 +01:00
Brian Daniels
8cc6a58162
Providing mechainsm for toolchains to exclude a path when scanning for resources
2016-04-19 14:53:42 -05:00
Sam Grove
7f1306f2f0
Merge pull request #55 from bridadan/fix-circle-gcc
...
Fixing package name for gcc arm
2016-04-19 14:44:27 -05:00
Brian Daniels
afc83e6b38
Fixing package name for gcc arm
2016-04-19 10:07:24 -05:00
Martin Kojtal
647cf23cf1
Exporters - add relative paths handling
...
If we use source option, the paths should be relative to the source dir.
Otherwise, mbed export scripts copies sources to temp dir.
2016-04-19 14:55:16 +01:00
Sam Grove
28334b00bb
Merge pull request #53 from bridadan/circle-gcc-4_9
...
Make CircleCI install GCC ARM 4.9 instead of 5.x or 6.x
2016-04-18 15:23:39 -05:00
Brian Daniels
1e34af2b15
Make CircleCI install GCC ARM 4.9 instead of 5.x or 6.x
2016-04-18 15:13:06 -05:00
Bogdan Marinescu
365a4a0ec3
Merge pull request #51 from 0xc0170/exporters_dir
...
Exporters - virtual dirs support for progen exporters
2016-04-18 15:42:09 +03:00
Martin Kojtal
fc005d50cd
Exporters - use relative project dirnames
...
For file like mbed-os\net\sal-stack-nanostack-private\source\BorderRouter\br_rf_interface.c,
virtual dir is: mbed-os\net\sal-stack-nanostack-private\source\BorderRouter.
This sould better organize virtual folders in IDE. The next step would be to break into
groups. For instance hal could be groped together, net together and other components.
2016-04-18 11:55:48 +01:00
Bogdan Marinescu
1e19d0470f
Merge pull request #36 from 0xc0170/dev_update_rtos
...
RTOS - update to v4.79
2016-04-18 11:50:11 +03:00
Bogdan Marinescu
6bbaf3fa85
Merge pull request #47 from bridadan/master
...
Add Circle CI Testing
2016-04-18 11:41:49 +03:00
Russ Butler
ac454782da
RTX: Support stacks larger than 64k
...
Cherry pick commit d587474778
-
"RTX: Support stacks larger than 64k"
This allows the latest version of the RTOS to run mbed client over
ethernet without crashing.
2016-04-14 16:56:34 -05:00
Martin Kojtal
a573214eff
RTX - fix missing header guards for Cortex-M4 (GCC ARM)
...
The HAL CM4 is valid only for FPU present. These guards were added
to mbed SDK, as there are targets Cortex-M4.
2016-04-14 21:47:19 +01:00
Martin Kojtal
1524c5fca9
lwip - fix size of sys mutex for RTX 4.79
...
The size was increased to 4 bytes. Thanks @c1728p9 for spotting this.
2016-04-14 21:47:17 +01:00
Martin Kojtal
3bffe3d0f5
RTOS - update for RTX v4.79 for Cortex-M
...
Thread - stack methods are not available for now, as tcb pointer was removed from
internal structure. To obtain it, we could get it from the kernel, but this should be
reconsidered. Either RTOS should provide it, or these methods will become deprecated.
2016-04-14 21:47:14 +01:00