Latest revision |
Your text |
Line 14: |
Line 14: |
| == Implement missing Matlab functions == | | == Implement missing Matlab functions == |
|
| |
|
| * Use the [https://savannah.gnu.org/patch/?func=additem&group=octave Savannah patch tracker] for submissions unrelated to an existing bug.
| | Use the [https://savannah.gnu.org/patch/?func=additem&group=octave Savannah patch tracker] for submissions unrelated to an existing bug. |
| | |
| == Test Octave functions for proper input handling ==
| |
| | |
| * Many functions either do insufficient input checking or the input requirements have changed over time.
| |
| * Contributors can try to break Octave function behavior with different types of input, and document the results.
| |
| * Users can check <em>expected behavior</em> according to the Octave help and, if applicable, expected compatible behavior according to [https://www.mathworks.com/help/matlab/ public facing Matlab documentation].
| |
| * Inputs to test can be:
| |
| ** different numeric types - double, single, integer.
| |
| ** non-numeric types - logical, string, cell, struct
| |
| ** different input shapes - scalar, row/column vectors, 2D, 3D, & nD arrays, zero size arrays ([], 1x0, and 1x3x0 are all empty but may require different handling).
| |
| ** char/string parameters: different case handling, partial matching behavior, invalid/nonsense parameters.
| |
| * For the input items above, does function behave acceptably? Are numerical or graphical outputs as expected? Is output consistent? Is any error message intelligible/meaningful to the user?
| |
| * Optionally the behavior above can be tested against Matlab function output if it is available. If needed but not available, tests can be submitted to other developers for output checking.
| |
| ** Note 1: There is much undocumented Matlab behavior. Because this has the possibility of changing with little notice, fixing incompatibilities related to such undocumented behavior is considered on a case-by-case basis by the developer team. Documentation of such cases is always beneficial, however.
| |
| ** Note 2: Only Matlab public documentation and function output may be compared. <em>Internal Matlab code, even if available, should never even be looked at by a contributor. Contributions will be discarded if it is determined such action occurred.</em>
| |
| * Contributors can submit bug reports to the [https://savannah.gnu.org/bugs/?group=octave Octave Bug Tracker] documenting their findings.
| |
| * An example can be see in bug {{bug|64078}} comment #10 of looking through the /plot/draw functions for how they handle integer and logical inputs to numeric fields.
| |
| | |
|
| |
|
| == Write Built-In Self Tests (BISTs) == | | == Write Built-In Self Tests (BISTs) == |