David Dworken
29ba7bc272
Invert condition so that a bunch of golden tests only run on actions, since that is now our primary testing environment ( #159 )
...
* Invert condition so that a bunch of golden tests only run on actions, since that is now our primary testing environment
* Update goldens to match them on GH actions
* Update goldens to split them based on OS so they can run on GH actions
* Add runtime.GOOS to golden names
* Update goldens that are now split by OS
* Update another test to fork on OS
* Update shell exclusion to properly exclude fish
* More golden updates
* Add more goldens
* More goldens
2023-12-29 07:31:56 -08:00
David Dworken
20fce0ef02
Move log.Fatalf call to end so that we log all unused goldens before failing the program
2023-12-29 01:16:55 -08:00
David Dworken
db19d8ebf1
Make unused goldens check in tests more lenient with goldens that are OS-specific
2023-12-28 19:52:39 -08:00
David Dworken
29adbd2372
Add print to go tests to monitor for UNUSED_GOLDENS overuse
2023-12-28 19:45:59 -08:00
David Dworken
4a7f95686c
Delete goldens/ directory that is no longer used (it was replaced by testdata/), but accidentally added back by a merge conflict
2023-12-28 19:36:16 -08:00
David Dworken
cae6113abc
Make unused golden files into an error
2023-12-28 19:33:58 -08:00
David Dworken
30f94c1c78
Fix broken custom color scheme support as reported in #134
2023-12-28 19:25:09 -08:00
David Dworken
eec0745fbe
Revert "Update goldens for ubuntu"
...
This reverts commit 1e20f2f518
.
2023-12-23 17:20:54 -08:00
David Dworken
1e20f2f518
Update goldens for ubuntu
2023-12-23 06:42:41 -08:00
David Dworken
5aa2c932fe
Add more golden files that are only referenced sometimes
2023-12-22 08:09:31 -08:00
David Dworken
17b158d4b3
Swap to checking golden usage post-tests so that it covers all golden usages, and not just per-package
2023-12-22 08:04:10 -08:00
David Dworken
5c9fc929cc
Add -v flag so that status contains the relevant info for these tests
2023-12-22 08:02:27 -08:00
David Dworken
4b058298b9
Add more precise assertions for installs from python scripts
2023-12-22 07:41:44 -08:00
David Dworken
e5764c6f07
Update AssertAllGoldensUsed to use an allowlist of goldens that may not be referenced in GH actions
2023-12-22 06:51:21 -08:00
David Dworken
abd7ee7fb2
Add test for installing via python script in offline mode
2023-12-22 06:33:09 -08:00
David Dworken
01725388a6
Fix typo in comment
2023-12-21 18:57:29 -08:00
David Dworken
9f5453f710
Fix issue where we paniced because the colored TUI test goldens weren't used on linux
2023-12-21 18:31:29 -08:00
David Dworken
a58c426ad3
Improve test to make the golden clearer about what is being tested
2023-12-21 17:43:26 -08:00
David Dworken
e5c038c8d6
Add back goldens for tab completion that were accidentally removed in an earlier merge conflict resolution
2023-12-21 17:37:44 -08:00
David Dworken
88f1c0168e
Move test goldens to testdata/ directory to be more idiomatic, and add assertion that they're all actively being used by the tests ( #154 )
...
* Move golden files to testdata dir
* Add assertion that requires that all goldens are used
* Add map init so the map is non-nil
* Add print to confirm that tests finished running
* Remove colon so that this doesn't match against gotestsum looking for the substring "panic:", which can happen depending on how stdout is buffer
* Revert "Remove colon so that this doesn't match against gotestsum looking for the substring "panic:", which can happen depending on how stdout is buffer"
This reverts commit b44e53a17b
.
2023-12-21 17:06:46 -08:00
David Dworken
1edb6642a9
Disable tab completions for bash since they rely on the user having bash completions installed, which not everyone does
2023-12-20 22:23:40 -08:00
David Dworken
efe2ccc817
Remove outdated TODO
2023-12-20 22:23:40 -08:00
David Dworken
bda76d04d1
Add tab completion tests for fish
2023-12-20 22:23:40 -08:00
David Dworken
d8ef46367c
Add tests for tab completions
2023-12-20 22:23:40 -08:00
David Dworken
a2d8a1065b
Add TestLog call to help debug mysterious timeouts for certain fuzz tests
2023-12-20 16:25:41 -08:00
David Dworken
81733cd25c
Add additional assertions to make the checks stronger
2023-12-20 14:58:10 -08:00
David Dworken
b98b8cca52
Update test golden name to remove reference to BetaMode
2023-12-20 14:56:09 -08:00
David Dworken
8f8f4449bf
Simplify tests for removing duplicate rows to avoid flaky failure caused by extra newline
2023-12-20 14:56:09 -08:00
David Dworken
5e415469d8
Remove extra scrolled color test since the color rendering seems flaky
2023-12-20 14:56:09 -08:00
David Dworken
4c89010874
Add extra colored assertion for removing duplicate rows to debug an interesting test failure for highlighting search matches
2023-12-20 14:56:09 -08:00
David Dworken
3c33513fa3
Improve logic for padding for highlighting search queries to fix off-by-one error that happens when there are no matches
2023-12-20 14:56:09 -08:00
David Dworken
9070b85f36
Revert "Revert "Enable highlighting of search matches by default for new installs (see #112 )" because it breaks some tests"
...
This reverts commit a453a858b6
.
2023-12-20 14:56:09 -08:00
David Dworken
f4ee4e7175
Make linux labeling more precise for AI completions
2023-12-19 20:54:56 -08:00
David Dworken
bf1bae4ff2
Add TODO
2023-12-19 20:50:29 -08:00
David Dworken
8fd809fdc8
Improve AI suggestions by specifying shell name and OS in OpenAI query
2023-12-19 20:50:29 -08:00
David Dworken
d3baf03dde
Add TODO
2023-12-19 19:12:04 -08:00
David Dworken
054744248c
Enable hishtory shell completions by default
2023-12-19 19:12:04 -08:00
David Dworken
8082bd5a2d
Add support for single quotes in search queries, and add a heuristic to avoid consuming unclosed quotes
2023-12-19 19:09:21 -08:00
David Dworken
60f5a222c0
Add config-remove as an alias for config-delete
2023-12-19 15:03:55 -08:00
David Dworken
c735fee3d5
Add aliases for plural config options in case people type the singular version
2023-12-19 09:34:12 -08:00
David Dworken
8b7e54eab4
Add support for configuring the TUI color scheme, for #134 ( #146 )
...
* Add support for configuring the TUI color scheme, for #134
* Add tests for getting and setting the custom color scheme, and support full colors where terminals support them
* Add comments to document termenv.ANSI setting, and fix tests so they work uniformly
2023-12-18 20:32:11 -08:00
David Dworken
1b3fa944bd
Add support for quoted searchs for exact matches, for #135 ( #145 )
...
* Add support for quoted searchs for exact matches, for #135
* Add support for quoting search queries
* Fix spliteEscaped so that it works with escaping dashes and colons in search queries
2023-12-12 22:20:49 -08:00
David Dworken
1be8e2cb47
Add some extra assertions to test various config-get commands
2023-12-11 20:49:28 -08:00
David Dworken
559fac57f9
Fix bug that made config-get timestamp-format require an argument
2023-12-11 20:44:18 -08:00
David Dworken
7272ca8448
Delete data from backend when uninstalling, fixes #132 ( #143 )
2023-12-10 09:15:11 -08:00
David Dworken
3a49c9c11f
Make hishtory work with set -o nounset for bash and zsh, for #142 ( #144 )
2023-12-10 09:14:12 -08:00
David Dworken
2d2c393bf9
Fix TUI code that tracked whether a search query is pending so it doesn't show the pending message when no query is pending
2023-12-09 15:51:04 -08:00
David Dworken
49daaa4da5
Update tests after #139
2023-12-06 20:46:19 -08:00
David Dworken
a26fc5b360
Add more special handling for extra tiny terminals ( #140 )
...
* Add more special handling for extra tiny terminals
* Add tests for extra compact terminals
2023-12-06 16:12:41 -08:00
David Dworken
3d6578c7f6
Add TODO for testing for #139
2023-12-05 21:44:39 -08:00
Ben
c8643d5a2b
Filter duplicates with map ( #139 )
...
The previous method of filtering duplicates only worked on duplicates that occurred consecutively. Since dupes happen out of order often, this switches the logic to instead use a map of seen commands and filter based on that.
2023-12-05 21:43:01 -08:00
David Dworken
8b83e2bbb5
Improve vertical sizing for small terminals, fixes #137 ( #138 )
...
* Improve vertical sizing for small terminals, fixes #137
* Add tests for tiny terminals + update test goldens for tiny terminals after compact sizing
2023-12-03 21:56:45 -08:00
David Dworken
bdaf0f8a65
Make TUI always take exactly the full width of the terminal through more precise calculations of the overhead used for the table ( #136 )
...
* Make TUI always take exactly the full width of the terminal through more precise calculations of the overhead used for the table
* Update TUI goldens for more accurate TUI sizing
* More golden updates for wider table sizing
* Include failed test goldens as artifacts for easier test fixing on github actions
2023-12-03 13:15:38 -08:00
David Dworken
6dc366fe47
Add test for presaving while offline
2023-11-24 16:46:22 -08:00
David Dworken
18ef74656c
Add presaving test for fish
2023-11-24 16:46:22 -08:00
David Dworken
caac6ac9ee
Add test for disabling presaving
2023-11-24 16:46:22 -08:00
David Dworken
09d0ddd587
Add TODO
2023-11-24 16:46:22 -08:00
David Dworken
a667585962
Fix incorrect reference when handling config updates
2023-11-24 16:46:22 -08:00
David Dworken
b86d6c2ef1
Remove debugging print in test
2023-11-24 16:46:22 -08:00
David Dworken
7bb2945901
Swap back to using the strict version for capturing tmux
2023-11-24 16:46:22 -08:00
David Dworken
fb96852b2d
Another attempt at fixing broken tests with presaving
2023-11-24 16:46:22 -08:00
David Dworken
6483e9817e
Another attempt at fixing testControlR/bash with presaving
2023-11-24 16:46:22 -08:00
David Dworken
1668231992
Remove incorrect new line in golden file
2023-11-24 16:46:22 -08:00
David Dworken
570ae3e8ac
Add additional check against hishtory export to help debug control-r test failures that only reproduce in github actions
2023-11-24 16:46:22 -08:00
David Dworken
428db61064
More test fixes for presaving
2023-11-24 16:46:22 -08:00
David Dworken
db685c6d70
More test fixes for presaving
2023-11-24 16:46:22 -08:00
David Dworken
b2de9e1b18
Fix more tests
2023-11-24 16:46:22 -08:00
David Dworken
1f6ba1e5fe
Fix more tests for presaving
2023-11-24 16:46:22 -08:00
David Dworken
3f1d5c9cd0
Improve debug log message to include more relevant information
2023-11-24 16:46:22 -08:00
David Dworken
40caf8dac7
More test fixes
2023-11-24 16:46:22 -08:00
David Dworken
be1cd75550
More text fixes
2023-11-24 16:46:22 -08:00
David Dworken
471f26ace5
More test fixes
2023-11-24 16:46:22 -08:00
David Dworken
d712a6fdc5
More test fixes
2023-11-24 16:46:22 -08:00
David Dworken
1ab8f54167
More test fixes
2023-11-24 16:46:22 -08:00
David Dworken
96799452d8
Fix/simplify more tests for enabling presaving by default
2023-11-24 16:46:22 -08:00
David Dworken
8f0c56e384
Update a bunch of tests to reflect presaving which means that the hishtory command that is being tested will show up as a hishtory entry
2023-11-24 16:46:22 -08:00
David Dworken
b1733b0325
Update a bunch of tests to reflect presaving which means that the hishtory command that is being tested will show up as a hishtory entry
2023-11-24 16:46:22 -08:00
David Dworken
b3e145d764
Enable presaving by default rather than having it gated behind BetaMode
2023-11-24 16:46:22 -08:00
David Dworken
4f7cef19c9
Add more debugging info when status -v shows the device is offline
2023-11-24 16:09:16 -08:00
David Dworken
a1d1c779d5
Mark all github action tests as integration test devices
2023-11-23 09:53:12 -08:00
David Dworken
3a98b10e47
Add comment
2023-11-22 20:48:23 -08:00
David Dworken
30b5478104
Add additional error checking that should never trigger
2023-11-22 20:45:38 -08:00
David Dworken
4d2b02e2c3
Add error checking when clearing the DB during the init process
2023-11-22 20:45:18 -08:00
David Dworken
af8ace69dd
Add loading spinner for slow searches, primarily to benefit AI queries since they are quite slow
2023-11-21 05:53:10 +01:00
David Dworken
05088d4bed
Add comment to explain some confusing logic that we do have to keep
2023-11-19 09:41:05 +01:00
David Dworken
5bf734606f
Swap to using hishtory getTimestamp to get the precise timestamp since this gives us a precise timestamp even on MacOS
2023-11-19 09:41:05 +01:00
David Dworken
d8b83b9429
Add getTimestamp command as an internal command that will be used as an alternative to date since date on MacOS doesn't support nanosecond granularity
2023-11-18 12:01:40 -08:00
David Dworken
a453a858b6
Revert "Enable highlighting of search matches by default for new installs (see #112 )" because it breaks some tests
...
This reverts commit 6c24ddfd46
.
2023-11-12 09:14:57 -08:00
David Dworken
c52dbebb1b
Consolidate TODOs
2023-11-12 05:04:55 -08:00
David Dworken
6c24ddfd46
Enable highlighting of search matches by default for new installs (see #112 )
2023-11-12 05:00:47 -08:00
David Dworken
0be6fe9724
Swap AI completions to be behind a dedicated config option and add docs on it
2023-11-12 03:09:56 -08:00
David Dworken
aeadaf4e0d
Set OPENAI_API_KEY for testTui/ai so that it runs with the hishtory server rather than via directly querying OpenAI
2023-11-12 02:57:23 -08:00
David Dworken
dd6cf710c7
Remove outdated TODO
2023-11-12 02:57:23 -08:00
David Dworken
a8f47cf340
Fix testTui/ai test and add golden file for it
2023-11-12 02:57:23 -08:00
David Dworken
e712d77f62
Add more guarding against panics when doing indexing into split strings
2023-11-12 02:57:23 -08:00
David Dworken
37e0e6653d
Remove unnecessary field
2023-11-12 02:57:23 -08:00
David Dworken
c4b60eb6b2
Clean up tests to make panics not happen for TUI test failures by moving repeated code line to a function at also adds a require
2023-11-12 02:57:23 -08:00
David Dworken
3df099c945
Fix AI test by quoting the sent keys to ensure zsh doesn't complain about the question mark
2023-11-12 02:57:23 -08:00
David Dworken
a184bd4243
Remove question mark to debug the AI test
2023-11-12 02:57:23 -08:00
David Dworken
6962233e1e
Better log messages and error messages
2023-11-12 02:57:23 -08:00