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
David Dworken
afe1a38a0e
Fix 2d63263b79
by applying the override on the backend rather than in the client-side variable that isn't actually being referenced
2023-11-12 02:57:23 -08:00
David Dworken
b0f3107da2
Add basic test for AI queries
2023-11-12 02:57:23 -08:00
David Dworken
0ea3ce2399
Add basic debouncing for AI integration + implement AI suggestions via hishtory API endpoint
2023-11-12 02:57:23 -08:00
David Dworken
eb835fe52c
Add initial version of AI searching, but with a broken implementation of debouncing
2023-11-12 02:57:23 -08:00
David Dworken
68142bf5fb
Fix #123 : Fix bug with deleting custom columns and also generally improve logic for creating/removing custom columns
2023-11-12 02:05:51 -08:00
David Dworken
d69176fb5c
Update SLSA integration to always prompt the user before suspected broken updates
2023-11-11 11:26:39 -08:00
David Dworken
99d899254a
Fix %v that should have been a %w so that we can use errors.Is reliably
2023-11-11 11:24:16 -08:00
David Dworken
9ea10d2fcd
Revert "Add t.Skip() call for broken test"
...
This reverts commit 63d0a8e457
.
2023-11-10 10:20:59 -08:00
David Dworken
14d851a413
Revert "Revert "Remove t.Skip() call to determine if this test is actually flaky""
...
This reverts commit b013c51c80
.
2023-11-10 10:20:06 -08:00
David Dworken
b013c51c80
Revert "Remove t.Skip() call to determine if this test is actually flaky"
...
This reverts commit cea481816f
.
2023-11-09 23:04:17 -08:00
David Dworken
cea481816f
Remove t.Skip() call to determine if this test is actually flaky
2023-11-09 23:03:27 -08:00
David Dworken
2a47f1f600
Add TODO
2023-11-09 23:02:42 -08:00
David Dworken
63d0a8e457
Add t.Skip() call for broken test
2023-11-09 23:01:55 -08:00
David Dworken
1975f51052
Call m.Run() in TestMain so that lib tests actually get executed, and fix test breakages that existed because lib tests weren't running
2023-11-09 23:00:20 -08:00
David Dworken
165cdd9187
Update slsa integration to use the shared library for parsing version strings
2023-11-09 20:52:21 -08:00
David Dworken
19b9f67724
Fix bug with automatic cd-ing where quoting the directory caused tildes to not get expanded into the user's homedir
2023-11-06 21:39:01 -08:00
David Dworken
e1f69f8731
Add TODO
2023-11-06 18:44:28 -08:00
David Dworken
a180c850a9
Add extra require to ensure that the next line doesn't panic if the string isn't present, since that interferes with gotestsum
2023-11-06 18:44:14 -08:00
David Dworken
c918bcd3cb
Update slsa validation to not validate version when running in github actions, since the one in actions isn't associated with a released version
2023-11-05 01:15:54 -07:00
David Dworken
29142df382
Add additional check that checks that the version is valid per semver
2023-11-05 00:38:21 -07:00
David Dworken
c908a9a6dd
Add a hidden validate-binary command that can be used to run SLSA validations against a given binary. This will be used for CI/CD tests in the automated releases
2023-11-03 18:19:36 -07:00
David Dworken
7f8772af3a
Fix test that I forgot to update in 588e2f4405
2023-11-01 22:09:49 -07:00
David Dworken
8493224e23
Add TODO
2023-11-01 18:04:40 -07:00
David Dworken
588e2f4405
Fix bug where cd-ing wouldn't work if the changeDir contained a space
2023-11-01 18:03:14 -07:00
David Dworken
166661dd7f
Remove arbitrary limit of only supporting 10 custom columns
2023-10-30 17:51:07 -07:00
David Dworken
f8b515c328
Update custom column support to also automatically retry DB errors to further harden against issues like #119
2023-10-30 17:50:47 -07:00
David Dworken
5f9ff9e158
Fix bug that caused unreleased presaving feature to accidentally save entries that were prefixed with a space
2023-10-30 17:42:09 -07:00
David Dworken
be377dee82
Add TODO
2023-10-30 17:40:47 -07:00
David Dworken
4352f61123
Add automatic retrying of DB functions to fix DB locked errors from hishtory init and hishtory install for #119
2023-10-29 21:13:10 -07:00
David Dworken
a6e6f6504c
Remove TODO that is out of date
2023-10-28 15:13:24 -07:00
David Dworken
fcf05ac21a
Add tests for errors in testTui
2023-10-26 17:42:50 -07:00
David Dworken
390f37f20c
Update testTui tests to run with online and offline installs
2023-10-25 20:44:26 -07:00
David Dworken
00129a5372
Add extra new lines to fix warnings ending up on the same line
2023-10-25 20:26:41 -07:00
David Dworken
93cffd98b4
Replace e50f4d164
with query IDs so that we properly handle deletions. See e50f4d164
for full details on the bug that this fixes.
2023-10-25 20:07:09 -07:00
David Dworken
e50f4d164b
Fix race condition in TUI code for handling async queries
...
If someone types in "l" and then "s" to search for "ls", then this will dispatch two async queries. If the query for "l" finishes after the query for "ls", then this will lead to the results for "l" getting incorrectly displayed. In practice, this is quite rare for human typing speeds so I had never noticed this. But, it causes an issue for test flakes and is the root cause of many of my recent changes around test flakes. Fixing this should improve test reliability significantly.
2023-10-24 22:52:52 -07:00
David Dworken
bb96164ea8
Revert "Increase delays for testTui/search since it is the flakiest test" since I figured out the source of the flakes
...
This reverts commit 10851528bc
.
2023-10-24 22:47:36 -07:00
David Dworken
590c4755b5
Revert "Split the flaky testTui/search test into two tests to increase odds of it passing quickly" since I figured out the source of the flakes
...
This reverts commit 352e483db5
2023-10-24 22:47:10 -07:00
David Dworken
df48e516ef
Close dd stats
2023-10-23 19:26:25 -07:00
David Dworken
352e483db5
Split the flaky testTui/search test into two tests to increase odds of it passing quickly
2023-10-23 18:53:16 -07:00
David Dworken
27eeb7d099
Refactor code to strip out the shell prefix to a separate function
2023-10-23 12:24:43 -07:00
David Dworken
10851528bc
Increase delays for testTui/search since it is the flakiest test
2023-10-23 12:13:40 -07:00
David Dworken
ff79707ccf
Use unqualified test name as test ID since the full package makes the datadog metrics overly verbose
2023-10-22 20:57:21 -07:00
David Dworken
0413e88321
Add flush call to metrics exporter so that metrics are flushed before the github action is killed
2023-10-22 18:10:49 -07:00
David Dworken
13233926a7
Fix test broken by 9433bd6e94
2023-10-22 17:59:21 -07:00
David Dworken
bfce9d4b1c
Add space to fix test that was broken by previous refactoring
2023-10-22 17:21:36 -07:00
David Dworken
d463d99916
Reorder if in test metrics exporter so that it actually skips initializing DD when there is no DD api key
2023-10-22 12:01:51 -07:00
David Dworken
2b1af986d8
Add support for running hishtory redact while offline, even though this may lead to syncing inconsistency bugs
2023-10-22 11:43:56 -07:00
David Dworken
c613e696b4
Update hishtory redact so that it doesn't error out due to it redacting the presaved entry for the current command
2023-10-22 11:34:26 -07:00
David Dworken
fdbe91246e
Add another hook point to check HISHTORY_SIMULATE_NETWORK_ERROR so that it also blocks downloading updates
2023-10-22 11:30:49 -07:00
David Dworken
9433bd6e94
Refactor offline simulation tests so that they reliably set the env variable before ever starting the shell, since we need the env variable to also apply to presaving
2023-10-22 11:28:41 -07:00
David Dworken
956ac736f2
Update metrics exporter output to include whether GLOBAL_STATSD is nil
2023-10-22 11:14:25 -07:00
David Dworken
ff0d2c34d6
Add print line after finishing upload of DD metrics
2023-10-21 17:14:49 -07:00
David Dworken
3d4e48aabd
Add test runtime metric
2023-10-21 16:42:41 -07:00
David Dworken
595ddec235
Add integration to report flaky tests to datadog
2023-10-21 16:28:28 -07:00
David Dworken
df9c6e8786
Swap to using gotestsum for retrying flaky tests
2023-10-21 15:41:32 -07:00
David Dworken
4e0788dccc
Update more test code to use require rather than manual failures
2023-10-21 14:59:12 -07:00
David Dworken
5ec9f85e5e
Fix broken test on ubuntu that was introduced in 08e734a
2023-10-21 13:44:08 -07:00