Skip to content

Conversation

@AniruddhaKanhere
Copy link
Member

Description

This PR intends to create a folder structure which is easy to navigate and clean. While moving the folders around, it intends to separate the Source and the Tests of FreeRTOS-Plus-TCP.
Both changes mentioned above will break the TCP test project. Therefore, the fix for the broken project is also included in the same PR.

The folder structure which the PR intends to achieve:

FreeRTOS
FreeRTOS-Plus
        + Demo
        + Source
                + FreeRTOS-Plus-<Lib_name>
                + FreeRTOS-Plus-TCP -> Remove the ‘test’ folder and take it to <root>/Test/FreeRTOS-Plus-TCP/Integration/Full-TCP-Networkless
        + Test
                + CBMC
                + Cmock
                + FreeRTOS-Plus-TCP
                        + Integration
                                + Full-TCP-Networkless -> add the above mentioned ‘test’ folder here
                        + Unit

There are 3 commits in the PR:

  • First one cleans up the folders and creates new ones
  • Second one fixes the Projects which broke due to folder structure change
  • Third one moves the test folder to the ideal location

Test Steps

  • Clone the repository git clone https://github.com/AniruddhaKanhere/FreeRTOS.git --recurse-submodules ./Folder
  • Checkout the branch: git checkout Folder_structure_change
  • Go to FreeRTOS-Plus\Test\FreeRTOS-Plus-TCP\Integration\Full-TCP-Networkless and open Full-TCP-Networkless.sln.
  • Edit the configNETWORK_INTERFACE_TO_USE in FreeRTOS_Config.h.
  • Compile and run! 4 tests should run...

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

yanjos-dev
yanjos-dev previously approved these changes Jun 23, 2020
@yuhui-zheng
Copy link
Contributor

Here's what I have with tree for ./Test/FreeRTOS-Plus-TCP/Integration

├── Integration
│   └── Full-TCP-Networkless
│       ├── Full-TCP-Networkless.sln
│       ├── ReadMe.txt
│       ├── Read_Me_Build_Instructions.url
│       ├── Source
│       │   ├── Config\ Files
│       │   │   ├── FreeRTOSConfig.h
│       │   │   └── FreeRTOSIPConfig.h
│       │   ├── Test_runner
│       │   │   ├── test_runner.c
│       │   │   ├── test_runner.h
│       │   │   └── test_runner_config.h
│       │   ├── demo_logging.c
│       │   ├── demo_logging.h
│       │   ├── main.c
│       │   └── printf-stdarg.c
│       ├── WIN32.vcxproj
│       ├── WIN32.vcxproj.filters
│       ├── WIN32.vcxproj.user
│       ├── WinPCap
│       │   ├── Packet32.h
│       │   ├── PacketData.h
│       │   ├── Win32-Extensions.h
│       │   ├── arch.c
│       │   ├── bittypes.h
│       │   ├── ip6_misc.h
│       │   ├── netif.h
│       │   ├── pcap
│       │   │   ├── bluetooth.h
│       │   │   ├── bpf.h
│       │   │   ├── namedb.h
│       │   │   ├── pcap.h
│       │   │   ├── sll.h
│       │   │   ├── usb.h
│       │   │   └── vlan.h
│       │   ├── pcap-bpf.h
│       │   ├── pcap-namedb.h
│       │   ├── pcap-stdinc.h
│       │   ├── pcap.h
│       │   ├── remote-ext.h
│       │   └── wpcap.lib
│       ├── dlldata.c
│       └── test
│           ├── freertos_tcp_test_access_declare.h
│           ├── freertos_tcp_test_access_dns_define.h
│           ├── freertos_tcp_test_access_tcp_define.h
│           └── test_freertos_tcp.c

I'd like to propose these changes:

  1. No space in folder name. e.g. "Config Files"
  2. In file name and folder name, try to stick with either dash '-' or underscore '_' for things we have control for. (There's not much we can do about for WinPCap dir.) But the rest, may want to pick a style.
  3. Can we get rid of another layer of Source and test? This is confusing to people. The entire directory is already in ./FreeRTOS-Plus/Test/FreeRTOS-Plus-TCP. To a reader, how to interpret source under test and test under test? A possible alternative could be "test" --> "test_cases" and flatten "Source". (Or whatever makes most sense.)

Sorry for being picky.

@AniruddhaKanhere
Copy link
Member Author

@yuhui-zheng, I have made some changes taking your comments in consideration. Can you have a look at the revised folder structure?

Copy link
Contributor

@yuhui-zheng yuhui-zheng left a comment

Choose a reason for hiding this comment

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

Thanks!

@AniruddhaKanhere AniruddhaKanhere merged commit a9b2aac into FreeRTOS:master Jun 26, 2020
AniruddhaKanhere added a commit that referenced this pull request Jul 28, 2020
* Fixed Imports for Infineon XMC1100 Board (#88)

Co-authored-by: RichardBarry <[email protected]>

* FreeRTOS+TCP : add memory statistics and dump packets, v3 (#83)

* FreeRTOS+TCP : add memory statistics and dump packets, v3

* Two changes as requested by Aniruddha

Co-authored-by: Hein Tibosch <[email protected]>
Co-authored-by: Aniruddha Kanhere <[email protected]>

* Folder structure change + Fix broken Projects (#103)

* Update folder structure

* Correct project files

* Move test folder

* Some changes after Yuki's comments

* Add checks in FreeRTOS_Socket.c (#104)

* Add fail-safes to FreeRTOS_Socket.c

* Use all 'pd' errors

* Correction after Hein's comments

* Correction after Hein's comments v2

* Changes after Hein's comments

* Update after Gary's comments

* Add VeriFast kernel queue proofs (#117)

* Remove unnecessary semicolon from the linker file (#121)

This was creating problem with the onboard LPCLink debug probe.

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

* Add Full TCP test suite - not using secure sockets (#131)

* Add Full-TCP suite

* delete unnecessary files

* Change after Joshua's comments

* Add changes from 2225-2227 amazon-FreeRTOS (#134)

* FreeRTOS+TCP Adding the combined driver for SAM4E and SAME70 v2 (#78)

* Adding a combined +TCP driver for SAM4E and SAME70

* Changes after review from Aniruddha

Co-authored-by: Hein Tibosch <[email protected]>
Co-authored-by: Aniruddha Kanhere <[email protected]>

* Prove buffer lemmas (#124)

* Prove buffer lemmas

* Update queue proofs to latest kernel source

All changes were syntactic due to uncrustify code-formatting

* Strengthen prvCopyDataToQueue proof

* Add extract script for diff comparison

Co-authored-by: Yuhui Zheng <[email protected]>

* Sync with +TCP amazon-FreeRTOS (#158)

* DNS.c commit

* IP.c commit

* Add various source & header files

* Add Uncrustify file used for Kernel. (#163)

* Add Atmel Studio projects for ATMega4809 and AVR128DA48 (#159)

* Added explicit cast to allow roll over and avoid integer promotion during cycles counters comparison in recmutex.c.

* Fixed type mismatch between declaration and definition of function xAreSemaphoreTasksStillRunning( void ).

* Added Atmel Studio demo projects for ATMega4809 and AVR128DA48.

* Per https://www.freertos.org/upgrading-to-FreeRTOS-V8.html, I'm updating portBASE_TYPE to BaseType_t.

Signed-off-by: Yuhui Zheng <[email protected]>

* Update register test for ATmega4809
- to cover r28, r29, r31.
- call public API taskYIELD() instead of portYIELD().

* Update ATmega4809 readme.md to include info for serial port setup, and minor wording fix.

Co-authored-by: Alexandru Niculae - M17336 <[email protected]>

Co-authored-by: S.Burch <[email protected]>
Co-authored-by: RichardBarry <[email protected]>
Co-authored-by: Hein Tibosch <[email protected]>
Co-authored-by: Hein Tibosch <[email protected]>
Co-authored-by: Nathan Chong <[email protected]>
Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]>
Co-authored-by: Yuhui Zheng <[email protected]>
Co-authored-by: Carl Lundin <[email protected]>
Co-authored-by: Alexandru Niculae - M17336 <[email protected]>
moninom1 pushed a commit that referenced this pull request Sep 14, 2022
* Update folder structure

* Correct project files

* Move test folder

* Some changes after Yuki's comments
moninom1 pushed a commit that referenced this pull request Sep 14, 2022
* Updated version number of .[ch] files

* Updated History.txt

* Updated manifest.yml file

* Updated the Kernel submodule and manifest.yml entry

* Remove trailing whitespace
Zangetsu112 pushed a commit to Zangetsu112/FreeRTOS-evpp that referenced this pull request Aug 18, 2025
* Update folder structure

* Correct project files

* Move test folder

* Some changes after Yuki's comments
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