Contributing Tests
The tests folder contains functional tests in the form of .vd scripts, each of which records a session of VisiData commands. These ensure that data processing works consistently and reliably.
dev/test.sh (run from the git root) will execute all tests. The final sheet of each test is saved as .tsv and compared to the respective expected output checked into the tests/golden directory.
As of January 2024, to pass all the tests, you will need to install the test extras:
git clone https://github.com/saulpw/visidata.git cd visidata pip3 install ".[test]"
To show each step of a test with a delay of 1 second between commands:
$ bin/vd -p tests/foo.vd -w 1To build a .vd file:
- Go through all of the steps of the workflow, ending on the sheet with the final result. 
- Press - Shift+Dto view the- CommandLog Sheet.
- Edit the commandlog to minimize the number of commands. Cells may be parameterized like - {foo}, to be specified on the commandline:- $ vd cmdlog.vd --foo=value 
- Save the cmdlog: - Press - Shift+Dto open the- commanDlog Sheet, and press- Ctrl+Sto save it with a- .vdsuffix.
There are also unit tests in visidata/tests. To run the unit tests:
pytest -sv visidata/tests
