---
# System prepended metadata

title: MATLAB Community Toolbox Training Projects 2023

---

**MATLAB Community Toolbox Training Projects 2023**


*Project Title*:  Make the existing testing more efficient and more accessible to all developers and contributors.

*Link to the project's page in GitHub:* https://github.com/fieldtrip/fieldtrip/projects/8

*Description*: 
* Make Fieldtrip's testing framework more straight-forward and easy. 
* All the contributors should test their code before submitting a pull request. 

*Before my contribution*: 
![](https://hackmd.io/_uploads/BJ1Q3z8p3.png)


*After my contribution*: 
![](https://hackmd.io/_uploads/ByfD2fLah.jpg)


*My contributions*
1. Archive tests that are outdated or fail to run. https://github.com/fieldtrip/fieldtrip/pull/2273

2. Categorisation of Fiedtrip test functions based on the data they use. https://github.com/fieldtrip/fieldtrip/pull/2278


3. Scripted a function that ensures every user has the correct path to the test data and automatically downloads test data when needed. https://github.com/fieldtrip/fieldtrip/pull/2298 & https://github.com/fieldtrip/fieldtrip/pull/2299



4. Write documentation and tutorial in the website to guide contributors on how to find, run and add new tests. https://github.com/fieldtrip/website/pull/693

5. Github action that suggests to the users which tests to run depending on their contribution. This was done with the help of Robert Oostenveld. More work needs to be done on this topic. https://github.com/fieldtrip/fieldtrip/pull/2306 & https://github.com/fieldtrip/fieldtrip/issues/2301 


6. Scripted two functions that list and update each test script's dependency list. The dependency list includes the FieldTrip functions that each test scripts calls directly. Also, scripted another function that finds FieldTrip high-level functions that are not tested by any test scripts. https://github.com/fieldtrip/fieldtrip/pull/2310 & https://github.com/fieldtrip/fieldtrip/pull/2316

7. Used unit testing MATLAB framework to find the *line-by-line* code coverage of each FieldTrip high-level function. My work is documented in the FieldTrip website. https://github.com/fieldtrip/website/pull/716. <br>
Full FieldTrip coverage by the ``test_*.m`` functions: https://www.fieldtriptoolbox.org/assets/coverage/full/
Partial FieldTrip coverage by the ``test_ft_*.m`` functions: https://www.fieldtriptoolbox.org/assets/coverage/partial/

<br>

I would like to thank Vijay Iyer for giving me the chance to work this summer for MATLAB and Robert Oostenveld for his support during this whole summer project.
  

<div style="display: flex; justify-content: space-between;">
  <img src="https://hackmd.io/_uploads/rJsHRmLpn.png" alt="Image 2" width="55%">
  <img src="https://hackmd.io/_uploads/SyPNBQ8ph.png" alt="Image 1" width="45%">
  
</div>






