-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
GH-38310: [MATLAB] Create the test guideline document for MATLAB interface to arrow #38459
Conversation
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename the pull request title in the following format?
or
In the case of PARQUET issues on JIRA the title also supports:
See also: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @leihou6116 for the pull request! This is an excellent addition to the MATLAB interface documentation and should definitely help new contributors get familiar with our approach to testing! It's really great to see this being added!
I added a number of comments to the PR - but many of them are actually just minor suggestions for tweaking the wording of some sections.
Overall, I think this nicely addresses most of the core themes that are relevant for getting started with testing the MATLAB interface.
The only thing I think would be helpful to think about adding is a small section on "Testing Best Practices". This could be a simple bulleted list of things like:
- Focus on testing one software "behavior" in each test case.
- Test with both "expected" and "unexpected" inputs.
- Add a comment at the beginning of each test case which describes what the test case is verifying.
- Treat test code like any other code (i.e. use clear variable names, write helper functions, make use of abstraction, etc.)
- Follow existing patterns when adding new test cases to an existing test class.
- Use descriptive names for your test cases.
.
.
.
matlab/doc/guideline_for_writing_tests_for_MATLAB_interface_for_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/guideline_for_writing_tests_for_MATLAB_interface_for_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/guideline_for_writing_tests_for_MATLAB_interface_for_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/guideline_for_writing_tests_for_MATLAB_interface_for_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/guideline_for_writing_tests_for_MATLAB_interface_for_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
Thank you Kevin for excellent review feedback. I'll address all and add the section of "Testing Best Practices". |
…'s review feedback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working through all of the feedback I provided, @leihou6116! Overall, this is looking really nice!
I just made a few more suggestions based on the latest changes.
One high-level piece of feedback is that I think the ordering of the sections feels a bit confusing at the moment.
Perhaps, we could order them as follows:
- Overview
- Prerequisites
- MATLAB Class-Based Unit Testing Framework
- Running Tests Locally
- Writing tests
- General Guidelines
- Test Organization
- Continuous Integration (CI) Workflows
- Code Coverage Goals
- How to Check Code Coverage
- Tips
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
My two cent would be to switch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking fantastic now!
I only had a few very minor suggestions after reading this over again.
This looks like it is pretty much ready to be merged in.
Thank you!
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
matlab/doc/testing_guidelines_for_the_matlab_interface_to_apache_arrow.md
Outdated
Show resolved
Hide resolved
This is a really fantastic contribution, @leihou6116! Thanks so much for carefully working through all of the code review feedback. This document will be super helpful going forward for both new and current contributors to the MATLAB interface! It's wonderful to see significant time and energy is being invested into building out the MATLAB documentation. Thank you!! |
+1 |
After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit cb11e44. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
…sting MATLAB interface (apache#38459) ### Rationale for this change This document is aimed at coaching people on how to write and run tests for the MATLAB interface. This document is helpful to reproduce and address test failures in GitHub Actions CI, and is also helpful to maintain the good quality of MATLAB interface. ### What changes are included in this PR? Created a markdown page under arrow/matlab/doc. ### Are these changes tested? No test needed. ### Are there any user-facing changes? No software change. * Closes: apache#38310 Authored-by: Lei Hou <[email protected]> Signed-off-by: Kevin Gurney <[email protected]>
…sting MATLAB interface (apache#38459) ### Rationale for this change This document is aimed at coaching people on how to write and run tests for the MATLAB interface. This document is helpful to reproduce and address test failures in GitHub Actions CI, and is also helpful to maintain the good quality of MATLAB interface. ### What changes are included in this PR? Created a markdown page under arrow/matlab/doc. ### Are these changes tested? No test needed. ### Are there any user-facing changes? No software change. * Closes: apache#38310 Authored-by: Lei Hou <[email protected]> Signed-off-by: Kevin Gurney <[email protected]>
Rationale for this change
This document is aimed at coaching people on how to write and run tests for the MATLAB interface. This document is helpful to reproduce and address test failures in GitHub Actions CI, and is also helpful to maintain the good quality of MATLAB interface.
What changes are included in this PR?
Created a markdown page under arrow/matlab/doc.
Are these changes tested?
No test needed.
Are there any user-facing changes?
No software change.