Skip to content

Conversation

@ActoryOu
Copy link
Member

Create SMP on target test framework.

Description

Create SMP on target test framework. Including test folders, CMakeLists.txt, template, and first test case.

Test Steps

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ActoryOu ActoryOu requested a review from a team as a code owner January 11, 2023 03:02
@ActoryOu ActoryOu requested a review from aggarg January 11, 2023 03:02
@ActoryOu ActoryOu force-pushed the kernel-on-target-test-framework branch from 62724b2 to 74e4e07 Compare January 11, 2023 03:37
@ActoryOu ActoryOu force-pushed the kernel-on-target-test-framework branch from 74e4e07 to d983564 Compare January 11, 2023 03:40
@ActoryOu ActoryOu requested a review from aggarg January 30, 2023 09:07
Copy link
Contributor

@Dazza0 Dazza0 left a comment

Choose a reason for hiding this comment

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

@ActoryOu Thanks for implementing this, this looks very promising. I've left a few comments/questions based on our past experience of integrating the unity test framework into a CI pipeline in ESP-IDF.

@Dazza0
Copy link
Contributor

Dazza0 commented Feb 21, 2023

@ActoryOu Thanks for the explanations. This PR LGTM.

Copy link
Member

@chinglee-iot chinglee-iot left a comment

Choose a reason for hiding this comment

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

Some questions want to discuss with you:

  1. Can this test detect the problem that the port fails to launch cores other than tick core?
  2. The EverRunning tasks do nothing but busy looping. How can we know this test function is run by other cores?

@ActoryOu
Copy link
Member Author

  1. Can this test detect the problem that the port fails to launch cores other than tick core?

Yes, I think so. If the core fail to be launched, it won't be able to set pxCurrentTCBs[ coreID ] correctly. So the state of task is
NOT eRunning. Furthermore, There is a test case named "Schedule Affinity", it checks if all tasks running on their own cores. We can verify the SMP by combining these two test cases.

  1. The EverRunning tasks do nothing but busy looping. How can we know this test function is run by other cores?

We check the if the state is eRunning, which means it's running at the same time on the other cores. We don't really care about what core is the tasks running on. We just check if all tasks created by the test cases are all in eRunning on all other cores.

chinglee-iot
chinglee-iot previously approved these changes Feb 24, 2023
Signed-off-by: Gaurav Aggarwal <[email protected]>
aggarg
aggarg previously approved these changes Mar 6, 2023
@chinglee-iot chinglee-iot self-requested a review March 6, 2023 05:31
chinglee-iot
chinglee-iot previously approved these changes Mar 6, 2023
Signed-off-by: Gaurav Aggarwal <[email protected]>
@aggarg aggarg dismissed stale reviews from chinglee-iot and themself via 1f9f7c8 March 6, 2023 06:07
@aggarg aggarg merged commit 67911f8 into FreeRTOS:main Mar 6, 2023
@ActoryOu ActoryOu deleted the kernel-on-target-test-framework branch March 7, 2023 01:26
@moninom1 moninom1 mentioned this pull request Mar 7, 2023
moninom1 added a commit that referenced this pull request Mar 7, 2023
* update the freertos + TCP demos to use the neew API for getting the UDP pyaload buffer [FreeRTOS_GetUDPPayloadBuffer_ByIPType] (#938)

* Add CBMC proof-running GitHub Action (#924)

* Added two config options to the FreeRTOSConfig file to get the demo running again. Fixed a typo in a file. Added a section to the link file (#940)

* Create SMP on target test framework. (#911)

* Fix CBMC proof failures (#946)

These were introduced in PR #620.

* Make static IP address configurable (#947)

* Fix issues in TCP QEMU Demo (#948)
moninom1 added a commit to moninom1/FreeRTOS that referenced this pull request Jun 27, 2023
* Add proof for vReceiveRA_ReadReply

* Add proof for vReceiveRA

* Update test case

* Use safeMalloc

* Umpdate pxGetNetworkBufferWithDescriptor

* Add unit test case for zero prefix option length

* Remove unsued parameters
Zangetsu112 pushed a commit to Zangetsu112/FreeRTOS-evpp that referenced this pull request Aug 18, 2025
* Framework initialization.

* Move testRunner.c to test case subfolder.

* Update README doc and formatting.

* Add default configurations in test_config.h.

* Fix License & formatting check.

* Fix typo.

* Move setup/teardown functions to main.c file.

* Move setup/teardown functions back.

* Update README doc.

* Patch for comments.

* Correct test runner file name.

* Move test_config.h to the end of FreeRTOSConfig.h.

* Add undef in test_config.h and description in README doc.

* Correct the file format.

* Fix chinglee-iot comments.

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <[email protected]>

* Fix spell check

Signed-off-by: Gaurav Aggarwal <[email protected]>

---------

Signed-off-by: Gaurav Aggarwal <[email protected]>
Co-authored-by: Gaurav Aggarwal <[email protected]>
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.

4 participants