Hello there, this is my weekly report about my work. In this report, I will show what I did this past week. I will also show what I intend to do in the next week. let’s get started.
That’s what is done
- I started writing jsondecode function on my repository. The function now fails only 6 tests of the 31 tests in the test suite. The function now decodes:
- null values in non-numeric arrays
- null values in numeric arrays
- Boolean values
- Numeric values
- String values
- Array of booleans
- Array of numbers
- Array of strings
- JSON objects
- Array of objects — Same field names
- Array of objects — Different field names
How to compile and run tests on the code
Right now, the code is treated as an external *.oct file. The integration of the code into Octave’s build system will be done at the end of the project. This is how to compile it:
- “cd” into “libinterp/corefcn” in your Octave’s code base directory
- run “mkoctfile” command using the file name (jsondecode.cc) as an argument
Octave test files are provided for each function. You can run the one that tests jsondecode in the “libinterp/corefcn” directory by running this command:
The log file “log.txt” in “test/json” in your Octave’s code base directory will have the data of the failed tests.
What I intend to do
- Finish jsondecode function.
- Since I like to use the method of “get things done first. then enhance it”, I will start to see if there is some thing in the code that can be written better after taking feedback and re-reading the code.
That’s it for this week. See you next one.