Commit Graph

871 Commits

Author SHA1 Message Date
David Dworken
638912b230
Improve install.py script to attempt to detect when /tmp/ is noexec (#172)
* Improve install.py script to attempt to detect when /tmp/ is noexec

* Add test to install from python script at HEAD

* Remove incorrect duplicated line

* Delete the tmp hishtory-client download since it may be dropped in CWD rather than /tmp/
2024-02-09 17:41:52 -08:00
David Dworken
786d2541d7
Add || true to fully fix #166 2024-02-08 22:44:35 -08:00
David Dworken
b395f6fa95
Properly silence which output to fix #166 2024-02-06 22:04:55 -08:00
David Dworken
6575c8ae42
Fix handling of new lines in commands for #163 (#170)
* Fix handling of new lines in commands for #163

* Move code for table from lib.go to query.go

* Update goldens
2024-02-06 20:04:21 -08:00
David Dworken
4b93240948
Log OpenAI error to debug log for #167 2024-02-05 21:34:03 -08:00
David Dworken
a3f1282368
Add ability to configure a default filter (for #76) (#161)
* Add ability to configure a default filter (for #76)

* Add test for color of default filter

* Add basic test for default filter

* Add goldens for tests

* Add more tests for default filters

* Update goldens

* Add another golden

* Update goldens

* Remove debug log

* Add golden to allowlist

* Update goldens
2024-01-07 21:06:22 -08:00
David Dworken
e86f7bf382
Add support for quotes around colons when searching (#162) 2024-01-07 18:56:30 -08:00
David Dworken
12f0aa1bff
Add TODO 2024-01-02 11:07:24 -08:00
David Dworken
77313dfb48
Add better color support detection, for #134 2023-12-31 13:00:56 -08:00
David Dworken
4013726c24
Remove allowlist for goldens that are used 2023-12-29 07:34:27 -08:00
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