Commit Graph

5990 Commits (61fb65b7fdada22cc60257e3533c5bee803b56dc)

Author SHA1 Message Date
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
Sam Grove b337c7fd00 Merge pull request #63 from bridadan/set-project-name-option
Allow the output binary of make.py to be named from the command line
2016-04-28 14:26:59 -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
Brian Daniels dac491645d Allow the output binary of make.py to be named from the command line 2016-04-26 10:59:28 -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
Christopher Haster ef291e79d9 Add unit tests over spawning/joining threads with thread functions 2016-04-23 16:06:24 -05:00
Christopher Haster da6571cc24 Add documentation on invalid thread functions in irq 2016-04-23 12:10:47 -05:00
Christopher Haster 21e68f3c91 Move configuration arguments to only constructor 2016-04-23 12:02:35 -05:00
Christopher Haster d15cd7826a Add Thread::join call for exiting threads without forceful termination
Allows multiple threads to join without forceful termination. Allows
threads to synchronize on cleanup.
2016-04-23 03:45:36 -05:00
Christopher Haster 8b8606b98d Add start function for separating object allocation from thread initialization
Allows threads to started separately from when they are declared,
avoiding the need to dynamically allocate threads at runtime.
2016-04-23 03:45:35 -05: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
Martin Kojtal 0c4a1674fe RTX - update to v4.79 for Cortex-M
Changes to the original kernel:

Cortex-M requires to define __CMSIS_OS_RTX, and __MBED_CMSIS_RTOS_CM. The macro __MBED_CMSIS_RTOS_CM
is mbed specific macro, to track changes to the kernel. This should keep us aware what has changed. For instance,
one breaking change was thread adding instances variable, which were not in mbed. This can be find as
it's protected via __MBED_CMSIS_RTOS_CM ifdef.

```
// added for mbed compatibility
// original RTX code
```

Startup for toolchains - mbed defines own stack pointer (set_main_stack()), therefore it should be called in the startup.
IAR added low level init calls and dynamic intialization to the IAR startup. All defined in RTX_CM_lib.h.

The timer thread has task id 0x01, main task 0x02. There are exception for main task not to check for
overflows. This is mbed specific, was reapplied from mbed code base.

IAR fixed SVC calls, this fix had to be reapplied (repo mbed PR 736 for more information).
2016-04-14 21:47:12 +01:00
Mihail Stoyanov edaf2bfa8d Merge pull request #45 from bridadan/add-threaded-blinky-test
Adding threaded blinky integration test
2016-04-13 15:33:35 +01:00
Mihail Stoyanov ed1952d316 Merge pull request #46 from bridadan/return-code-make
Adding a proper exit return code on a toolchain failure
2016-04-13 15:32:24 +01:00
Brian Daniels 5b36a4cfd0 Adding a proper exit return code on a toolchain failure 2016-04-12 18:32:33 -05:00
Brian Daniels bf80094ead Updating circle.yml 2016-04-12 18:18:18 -05:00
Brian Daniels b91995c5b0 Merge pull request #1 from bridadan/add-circle-ci
Add circle ci
2016-04-12 17:49:12 -05:00
Brian Daniels 1add211f45 Adding Circle CI config 2016-04-12 17:43:18 -05:00