Skip to content

Implement functional Wifi tests #1

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

Closed
wants to merge 1 commit into from
Closed

Implement functional Wifi tests #1

wants to merge 1 commit into from

Conversation

SeppoTakalo
Copy link
Owner

@SeppoTakalo SeppoTakalo commented Sep 20, 2017

Implement 100% function coverage for WifiInterface as specified
in "Wifi test plan"

This is just a review for testcases.
This work is ongoing and we are not yet ready to merge these into ARMmbed/mbed-os master, but we aim to. Soon.

@SeppoTakalo
Copy link
Owner Author

CC: @KariHaapalehto

Implement 100% function coverage for WifiInterface as specified
in "Wifi test plan"
@SeppoTakalo
Copy link
Owner Author

Moved to mbed-os master.

Copy link

@sg- sg- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great but should not use get_interface, rather, depend on the config introduced in ARMmbed#4795

SeppoTakalo pushed a commit that referenced this pull request Mar 7, 2018
SeppoTakalo pushed a commit that referenced this pull request Aug 2, 2018
`handle_error` calls `MBED_CALLER_ADDR()`, but this is always a location from within platform/mbed_error.c. This is because `handle_error` is declared static. This does not cause the function to be inlined however. Instead, it is called by each function within mbed_error.c. For example, mbed_error yields this code:

```
000625c8 <mbed_error>:
   625c8:       b510            push    {r4, lr}
   625ca:       460c            mov     r4, r1
   625cc:       4611            mov     r1, r2
   625ce:       461a            mov     r2, r3
   625d0:       9b02            ldr     r3, [sp, ARMmbed#8]
   625d2:       f7ff feff       bl      623d4 <handle_error>
   625d6:       b968            cbnz    r0, 625f4 <mbed_error+0x2c>
   625d8:       4620            mov     r0, r4
   625da:       f7ff ff67       bl      624ac <print_error_report.constprop.0>
   625de:       f7ff fea8       bl      62332 <core_util_is_isr_active>
   625e2:       b910            cbnz    r0, 625ea <mbed_error+0x22>
   625e4:       f7ff fe9f       bl      62326 <core_util_are_interrupts_enabled>
   625e8:       b908            cbnz    r0, 625ee <mbed_error+0x26>
   625ea:       bf30            wfi
   625ec:       e7fd            b.n     625ea <mbed_error+0x22>
   625ee:       2001            movs    r0, #1
   625f0:       f000 f948       bl      62884 <__wrap_exit>
   625f4:       4800            ldr     r0, [pc, #0]    ; (625f8 <mbed_error+0x30>)
   625f6:       bd10            pop     {r4, pc}
   625f8:       80ff010f        .word   0x80ff010f
```

Note that at `625d2` there is a bl to handle error. That replaces the LR, which means that ALL calls to mbed_error will report a location of 0x625d6 or 0x625d7 (user vs. supervisor). I do not expect that this was the intention of the code. The simplest fix is to change line 99:

```C
static inline mbed_error_status_t handle_error(mbed_error_status_t error_status, unsigned int error_value, const char *filename, int line_number)
```

Since `handle_error()` will be inlined, the link register will be kept the same, so `MBED_CALLER_ADDR()` will yield the expected result. However, there is no guarantee that the compiler will respect the `inline` keyword in all circumstances.

The result is that each function that wishes to report its caller must extract its caller. This code cannot be centralised.

I have modified `mbed_error.c` to report the caller of each error reporting function, rather than the error reporting function itself.
SeppoTakalo pushed a commit that referenced this pull request Aug 31, 2018
cmonr pushed a commit that referenced this pull request Sep 1, 2018
Fix default spi speed to 40Mhz
cmonr pushed a commit that referenced this pull request Sep 1, 2018
Fix const attribute mismatch on size function
cmonr pushed a commit that referenced this pull request Sep 1, 2018
Added more warnings about FlashIAP
SeppoTakalo pushed a commit that referenced this pull request Sep 5, 2018
NFC: Amend ndef parsing design.
SeppoTakalo pushed a commit that referenced this pull request Oct 15, 2018
choose which lpc1768 timer to use for us_ticker.c
SeppoTakalo pushed a commit that referenced this pull request Nov 16, 2018
SeppoTakalo pushed a commit that referenced this pull request Jan 8, 2020
Update CMSIS-pack info for STM32G-family
SeppoTakalo pushed a commit that referenced this pull request Jan 23, 2020
Signed-off-by: PARKJIHOON <jh6186.park@samsung.com>
SeppoTakalo pushed a commit that referenced this pull request Apr 17, 2020
Removing namespace pollution & rf ctrls refactor
SeppoTakalo pushed a commit that referenced this pull request Nov 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants