Commit Graph

861 Commits

Author SHA1 Message Date
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