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
David Dworken
6bb12241c9
Promote the background updates of the DB from BetaMode to prod
2023-10-21 09:47:20 -07:00
David Dworken
08e734a1fe
Add tests to verify the fix for #117
2023-10-21 09:00:06 -07:00
David Dworken
3ca9de559f
Fix #117 by disown-ing background processes so that they don't stop fish from exiting
2023-10-20 23:23:24 -07:00
David Dworken
9efef65e3a
Update README and make column name matching more relaxed
2023-10-18 19:17:05 -07:00
David Dworken
f1ca76a5a0
Extra delay to make test more reliable
2023-10-15 21:47:01 -07:00
David Dworken
0fec2d5ba9
Ensure that the DB entry is reliably created locally and in the remote for testTui/scroll to make it more reliable
2023-10-15 21:45:20 -07:00
David Dworken
1a04213f11
Add extra delay to make flaky test more reliable
2023-10-15 19:02:57 -07:00
David Dworken
58e92e5760
Refactor by moving methods out of lib.go into more specific packages
2023-10-15 18:30:39 -07:00
David Dworken
539ef74746
Remove TODO that has already been completed
2023-10-15 18:12:28 -07:00
David Dworken
f3727dbeff
Wire through a flag so that we can track when installations come from tests, and delete those from the DB more aggressively
2023-10-15 13:09:48 -07:00
David Dworken
449a4d0000
Add better handling for race condition with deleting presaved entries
2023-10-15 13:00:34 -07:00
David Dworken
4bcc5fb335
Periodically call query endpoint and retrieve data to ensure that the local DB is always reasonably up to date
2023-10-15 12:29:50 -07:00
David Dworken
1c4fe0d379
Add TODO
2023-10-14 17:30:12 -07:00
David Dworken
6fb6498515
Make deletion request processing happen in parallel to speed up query endpoint
2023-10-14 17:21:00 -07:00
David Dworken
fca2b1441f
Always include user and device ID in API request headers, so that they're available in all server-side handlers
2023-10-14 10:52:51 -07:00
David Dworken
66e482de17
Fix broken import test that asserted that fish commands were imported after bash/zsh commands
2023-10-12 21:51:18 -07:00
David Dworken
dbb555e20c
Add progress bar to monitor importing history entries for #93
2023-10-12 19:35:52 -07:00
David Dworken
851283df8d
Add TODO
2023-10-12 19:34:09 -07:00
David Dworken
253ad7f6b6
Bold matches for search queries in TUI for #112 . This was previously available behind the beta-mode flag, but will now be enabled by default
2023-10-12 19:34:09 -07:00
David Dworken
9a947b73cf
Add test for updating that relies on the prod server
2023-10-10 22:14:51 -07:00
David Dworken
dc19fa3a17
Roll-forward "Make history entry start times more precise (down to the nanosecond) to make the recorded runtime more accurate, since currently start times are rounded to the nearest second. Though
...
note that 'date' on MacOS doesn't support %N, so this doesn't apply to MacOS"
This reverts commit 6281ae0601
.
2023-10-10 07:44:15 -07:00
David Dworken
dfa961072e
Add more precise assertions for update tests
2023-10-10 07:43:37 -07:00
David Dworken
8373c589ea
Improve update tests to run a command post-update with the pre-update shell config
2023-10-10 07:35:23 -07:00
David Dworken
f0dbcd6e3b
Add more thorough tests for updates
2023-10-09 21:41:30 -07:00
David Dworken
45aa218bd3
Move err check so that it only executes if it is reassigned
2023-10-08 20:26:33 -07:00
David Dworken
717cf2c4b0
Add check so that if there are zero leftover entries, we don't try to import them into the DB since this leads to install errors
2023-10-08 20:25:53 -07:00
David Dworken
6281ae0601
Revert "Make history entry start times more precise (down to the nanosecond) to make the recorded runtime more accurate, since currently start times are rounded to the nearest second. Though note that 'date' on MacOS doesn't support %N, so this doesn't apply to MacOS"
...
This reverts commit d404a73c9b
since it appears to be causing test failures for linux
2023-10-07 20:05:21 -07:00
David Dworken
4bb0ebfb2e
Bubble up error when we fail to encrypt history entries
2023-10-07 20:02:02 -07:00
David Dworken
480f8696fb
Also read imports from ~/.zhistory which is sometimes used by zsh
2023-10-07 15:19:51 -07:00
David Dworken
d2788a9f31
Swap interface{} to any
2023-10-07 15:11:49 -07:00
David Dworken
d404a73c9b
Make history entry start times more precise (down to the nanosecond) to make the recorded runtime more accurate, since currently start times are rounded to the nearest second. Though note that 'date' on MacOS doesn't support %N, so this doesn't apply to MacOS
2023-10-07 14:47:54 -07:00
David Dworken
5323c264b3
Further improve history importing performance for #93
2023-10-07 14:41:34 -07:00
David Dworken
8097c31afa
Remove TODO that was fixed in f5264b6eff
2023-10-07 14:36:02 -07:00
David Dworken
69b9b58cd0
Fix test that should have been updated in 3efe624
2023-10-07 11:06:56 -07:00
David Dworken
f5264b6eff
Tweak ImportHistory so that all entries are guaranteed to have sequential timestamps that are monotonically increasing
2023-10-07 11:05:19 -07:00
David Dworken
3efe62401c
Change semicolon to && so that if the cd fails, the command doesn't run. Per feedback on #83
2023-10-06 16:49:50 -07:00
David Dworken
c7d1abdc83
Add additional tests for history importing
2023-10-03 08:00:16 -07:00
David Dworken
d33bd6a046
Improve history import performance so that we can import 100k entries in ~6 seconds (down from ~20 seconds)
2023-10-02 22:27:24 -07:00
David Dworken
f8719e4b9b
Increase number of automatic retries for testTui/delete since it seems to also be somewhat flaky
2023-10-01 18:26:02 -07:00
David Dworken
0b54cebd46
Further increase delay to make tests more reliable
2023-10-01 18:25:19 -07:00
David Dworken
2e793b2c10
Test refactoring to remove a function that can be replaced with testify
2023-10-01 18:21:11 -07:00
David Dworken
33f09ea030
Fix testPresaving/bash by calling SetSid to prevent SIGTTIN signal from killing the test
2023-09-29 21:38:50 -07:00
David Dworken
2c77c3d9c9
Fix bug with bash presaving that caused commands to not get properly recorded due to presaving looking like a duplicate command
2023-09-29 21:03:12 -07:00
David Dworken
0b57034c39
Revert "Revert all commits since v0.223 to enable me to release a patch on top of v0.223"
...
This reverts commit 68ed9f2d5d
.
2023-09-29 18:21:23 -07:00
David Dworken
68ed9f2d5d
Revert all commits since v0.223 to enable me to release a patch on top of v0.223
2023-09-28 22:15:30 -07:00
David Dworken
98b6eb57d0
Disable broken test on github actions
2023-09-28 22:15:26 -07:00
David Dworken
61a7435fb7
Add additional assertion to presaving test to make it a stronger test, and to help debug a test failure that only reproduces on github actions
2023-09-28 22:15:22 -07:00
David Dworken
b1988d7022
Increase delay since TestTui/search is still flaky
2023-09-28 22:15:12 -07:00
David Dworken
1a84bc2fef
Remove new line
2023-09-28 22:15:09 -07:00
David Dworken
b859b34616
Disable testing of TUI colors on linux
2023-09-28 22:15:03 -07:00
David Dworken
fdec51bd14
Update presaving for bash to use history 1
rather than BASH_COMMAND to ensure we don't log bash functions
2023-09-28 22:14:53 -07:00
David Dworken
5d46c94b13
Improve test for duplicate rows to make it more reliable/simple
2023-09-28 22:14:47 -07:00
David Dworken
2e5f345411
Refactor tmux capturing to take in a struct to avoid having to create so many overloaded functions
2023-09-28 22:14:41 -07:00
David Dworken
06ee1bd6fe
Add comments/clean up TUI highlighting code
2023-09-28 22:14:30 -07:00
David Dworken
83c3664de6
Add test for beta-mode enabling highlighting of matching queries
2023-09-28 22:14:22 -07:00
David Dworken
e04583f62f
Move regexp compilation out of render function so it isn't run once for every single cell
2023-09-28 22:14:15 -07:00
David Dworken
3feb267038
Remove debug log statements
2023-09-28 22:14:11 -07:00
David Dworken
b482a6d6ec
Add very basic TUI test that also tests how the TUI uses escape sequences for colors
2023-09-28 22:14:05 -07:00
David Dworken
79ec2be1e4
Improve testPresaving to cover more potential errors with presaving
2023-09-28 22:14:00 -07:00
David Dworken
89014a8674
Add workaround for bash issues with pre-saving
2023-09-28 22:13:41 -07:00
David Dworken
5ac6f297fb
Fix incorrect shell name in config.fish for pre-saving
2023-09-28 22:13:35 -07:00
David Dworken
9fda54d4c2
Remove testutils.Check(t, err) and replace it with require.NoError which gives a clearer error message and a full stacktrace
2023-09-28 22:13:27 -07:00
David Dworken
beb907d59e
Add bolding of matching search results for #112 , currently behind the beta-mode flag
2023-09-28 22:13:11 -07:00
David Dworken
ec44e94565
Fix NPE that occurs if the initial sqlite query is slow, the user starts typing, and then the latter query is faster and completes first, by forcing an update of the table if it is nil before calling SetRows() on it
2023-09-28 21:52:00 -07:00
David Dworken
6d5a86a8bb
Revert all commits since v0.223 to enable me to release a patch on top of v0.223
2023-09-28 21:49:37 -07:00
David Dworken
d18747e639
Disable broken test on github actions
2023-09-27 21:10:39 -07:00
David Dworken
bed3fd3eb4
Add additional assertion to presaving test to make it a stronger test, and to help debug a test failure that only reproduces on github actions
2023-09-26 22:17:32 -07:00
David Dworken
f84c2d86b5
Increase delay since TestTui/search is still flaky
2023-09-26 20:16:55 -07:00
David Dworken
289fe6e8e1
Remove new line
2023-09-26 20:16:22 -07:00
David Dworken
adc069bd54
Disable testing of TUI colors on linux
2023-09-26 20:15:11 -07:00
David Dworken
d14dc1cd50
Update presaving for bash to use history 1
rather than BASH_COMMAND to ensure we don't log bash functions
2023-09-26 19:41:12 -07:00
David Dworken
753b7241a8
Improve test for duplicate rows to make it more reliable/simple
2023-09-26 19:38:21 -07:00
David Dworken
64db341144
Refactor tmux capturing to take in a struct to avoid having to create so many overloaded functions
2023-09-24 18:28:06 -07:00
David Dworken
6d95b759f6
Add comments/clean up TUI highlighting code
2023-09-24 18:06:32 -07:00
David Dworken
0627891be2
Add test for beta-mode enabling highlighting of matching queries
2023-09-24 17:57:40 -07:00
David Dworken
d2fec54ec0
Move regexp compilation out of render function so it isn't run once for every single cell
2023-09-24 17:19:51 -07:00
David Dworken
5a70a3b776
Remove debug log statements
2023-09-24 17:18:56 -07:00
David Dworken
b3fa5c9a6b
Add very basic TUI test that also tests how the TUI uses escape sequences for colors
2023-09-24 17:03:54 -07:00
David Dworken
354f2872d6
Improve testPresaving to cover more potential errors with presaving
2023-09-24 16:35:40 -07:00
David Dworken
0db27d4217
Add workaround for bash issues with pre-saving
2023-09-24 16:35:00 -07:00
David Dworken
eeacd6fa70
Fix incorrect shell name in config.fish for pre-saving
2023-09-24 16:31:46 -07:00
David Dworken
5121df5a8c
Remove testutils.Check(t, err) and replace it with require.NoError which gives a clearer error message and a full stacktrace
2023-09-24 16:05:01 -07:00
David Dworken
0f375aacfc
Add bolding of matching search results for #112 , currently behind the beta-mode flag
2023-09-24 15:57:39 -07:00
David Dworken
e92c702402
Another exclusion for presaving
2023-09-24 14:19:11 -07:00
David Dworken
cb95d4a396
More test reliability improvements to fix all test failure root causes from 10 sample runs on Github Actions
2023-09-24 06:29:47 -07:00
David Dworken
ce9602d0df
Make testControlR more reliable in cases where control-R doesn't include padding
2023-09-24 06:25:08 -07:00
David Dworken
e3c70beb6b
Fix bug introduced in c00e5d where hishtory import would fail if shell history files didn't exist (e.g. because the user had never used zsh)
2023-09-23 20:37:41 -07:00
David Dworken
c21d443fa6
Make presaving query slightly more specific, and delete res.RowsAffected check since it can cause flaky errors if a command is run twice very quickly
2023-09-23 20:02:05 -07:00
David Dworken
3253883198
Fix syncing consistency bug, but with the caveat that there is currently no easy/practical way to write tests for this
2023-09-23 19:57:41 -07:00
David Dworken
c3782dda18
Add additional error to IsOfflineError
2023-09-23 19:37:25 -07:00
David Dworken
1c2f9cf36c
Run local server for TestAugmentedIsOfflineError and ensure that HISHTORY_TEST is set
2023-09-23 19:35:21 -07:00
David Dworken
16f2751975
Add offline checking for deleting presaved entries so that hishtory works while offline
2023-09-23 19:32:35 -07:00
David Dworken
8443292070
Augment IsOfflineError(err) so that it detects if the hishtory server is down, and will then treat all API errors as offline errors
2023-09-23 16:40:03 -07:00
David Dworken
ab12fa4d47
Fix consistency bug where ClientConfig would get out of date between different parts of the code
2023-09-23 12:40:57 -07:00
David Dworken
8c239a32b9
Rename variable so it doesn't contain TODO
2023-09-23 12:25:58 -07:00
David Dworken
c00e5d357e
Swap hishtory import to use iterators to improve import performance for #93
2023-09-23 12:19:06 -07:00
David Dworken
eb1bc99a22
Add extra delay for testTui_delete test that relies on syncing, which can be slow
2023-09-23 10:58:48 -07:00
David Dworken
68c6bd6654
Improve TestTimestampFormat
2023-09-23 10:56:27 -07:00
David Dworken
e886763144
Make testCustomColumns simpler and more reliable
2023-09-23 05:34:36 -07:00
David Dworken
61c8e26f89
Revert "Make testControlR more reliable by making it more lenient in how it looks for the separator"
...
This reverts commit 5168efb2c8
.
2023-09-22 21:18:29 -07:00
David Dworken
d613c22e50
Move a bunch of utility functions for tests to a testutils.go file to make client_test.go at least a little shorter
2023-09-22 20:19:12 -07:00
David Dworken
5168efb2c8
Make testControlR more reliable by making it more lenient in how it looks for the separator
2023-09-22 20:03:41 -07:00
David Dworken
51ca2578b7
Follow up to e3d54e: Same thing for querying for pre-saved entries
2023-09-22 19:59:19 -07:00
David Dworken
e3d54e43e8
Make deletion request auto-retry SQLITE_LOCKED errors since deletion requests will now be much more common with pre-saving support
2023-09-22 19:47:10 -07:00
David Dworken
2c9aa099d2
Fix bug in offline sync code that contained off-by-one error leading to missed entries
2023-09-22 19:31:22 -07:00
David Dworken
e089690cbb
no-op formatting change
2023-09-22 19:22:03 -07:00
David Dworken
3f0adbc324
Add support for deleting pre-saved entries on the remote server
2023-09-22 19:00:37 -07:00
David Dworken
1d878195b2
Rework ff98a7907c
to use the newly added EntryId column rather than deleting based on the start time
2023-09-22 14:03:41 -07:00
David Dworken
9b847c5e35
Further optimize client-server roundtrips by including deletion and dump requests in submit responses (follow up to 1e43de689f
)
2023-09-22 13:49:29 -07:00
David Dworken
a5f11af150
Add initial code to support unique per-entry IDs
...
This code has two caveats for old entries:
1. the ID is being backfiled with a random per-(device,entry) ID. So the ID won't match cross-device.
2. the server-side ID will still be a random ID that is unrelated to the entry ID
2023-09-22 13:16:24 -07:00
David Dworken
2a5a6d65c4
Roll-forward "Add preliminary support for persisting pre-saved history entries remotely"
...
This rolls-forward commit 66916c27cb
.
2023-09-22 13:13:46 -07:00
David Dworken
dc166ec089
Move fuzz tests to a separate file and add a couple more tests to it
2023-09-22 08:43:58 -07:00
David Dworken
66916c27cb
Revert "Add preliminary support for persisting pre-saved history entries remotely"
...
This reverts commit ff98a7907c
. That commit is incomplete since it doesn't include support for the continous deletion of pre-saved history entries as soon as they
finish running. Support for this will require a good bit more work/thought, so reverting for and keeping this code in the git history.
2023-09-21 12:39:20 -07:00
David Dworken
ff98a7907c
Add preliminary support for persisting pre-saved history entries remotely
2023-09-21 12:39:04 -07:00
David Dworken
63dea34007
Add comment to document a somewhat confusing function
2023-09-21 11:35:47 -07:00
David Dworken
1e43de689f
Optimize number of round-trip HTTP connections made by the client by having the submit handler return metadata about whether there are pending dump/deletion requests
...
For now, I'm still keeping the dedicated endpoints for those functionalities, but since most of the time there are no dump/deletion requests this should cut down the number of requests made by the client by 2/3.
2023-09-21 11:35:24 -07:00
David Dworken
b05fb0f818
Fix typo-ed variable name
2023-09-21 11:25:26 -07:00
David Dworken
1c4570586c
Increase max supported line length for #93
2023-09-19 18:59:09 -07:00
David Dworken
69047109ac
Skip presaving the presave command, since it is currently spamming the recorded history entries in bash
2023-09-19 13:35:11 -07:00
David Dworken
216803f325
Bring back logic that was removed in c9da7a10e4
that made it so invalid initial search queries will get replaced with a query for the empty string
2023-09-18 22:21:10 -07:00
David Dworken
c9da7a10e4
Make the initial search query for the TUI async so that the UI opens immediately, so that user's can start typing their query without any delay
2023-09-18 19:35:53 -07:00
David Dworken
4f592f4aef
Automatically retry search queries when the DB is locked to increase reliability (especially when the backend is down, which leads to more queries, and thus more instances of the DB being locked)
2023-09-18 19:22:26 -07:00
David Dworken
f589a0b1ba
Increment the test_retry_count metric for failures too to ensure that it captures tests that fail all retries
2023-09-17 23:07:10 -07:00
David Dworken
134061085b
Fix bug in searching logic that caused gorm to template in NULL for non-null values
2023-09-17 20:24:48 -07:00
David Dworken
e6c76eb222
Make WHERE query for deleting presaved entries stricter and re-add in the error check that was removed in 713ee96a96
2023-09-17 14:38:48 -07:00
David Dworken
4c912cfaed
Improve sh config file tweak function to make it stricter with presaving
2023-09-17 14:35:56 -07:00
David Dworken
1d7ba41289
Avoid performance hit caused by pre-saving by presaving in the background
2023-09-17 14:11:44 -07:00
David Dworken
713ee96a96
Delete error checking branch that isn't necessary because the filter condition above is much more precise now
2023-09-17 12:06:19 -07:00
David Dworken
4b99e4d0e8
Fix misleading error message that contained the wrong shell name due to a copy/paste mistake
2023-09-14 23:09:15 -07:00
David Dworken
48e33d5034
Make the query input box in the TUI match the terminal dimensions
2023-09-14 21:14:16 -07:00
David Dworken
30ba0bd35c
Presaving clean up improvements: Skip presaving empty commands and make timestamp format clearer
2023-09-14 21:04:23 -07:00
David Dworken
328c35a096
Add presaving support for fish
2023-09-14 21:03:36 -07:00
David Dworken
c5a7245991
Add bug fix for presaving history where entries would sometimes end up duplicated
2023-09-14 21:01:13 -07:00
David Dworken
9fcdb7f960
Add TODO for tui UX improvement
2023-09-14 20:40:35 -07:00
David Dworken
01d9924cc0
Check sqlite DB error messages with Contains to be slightly more lenient
2023-09-14 12:32:50 -07:00
David Dworken
d4e01ceb11
Add another error message substring for detecting errors due to being offline, to improve #30
2023-09-13 22:49:40 -07:00
David Dworken
e8ceb02138
Move tui.go out of lib and into a separate package
2023-09-13 22:47:48 -07:00
David Dworken
6d6a1a5e12
Move a bunch of update-specific code out of the generic lib.go file and into the update command
2023-09-13 22:45:49 -07:00
David Dworken
f3e4a4e1e6
Disable tquery test that is failing on github actions
2023-09-13 21:56:58 -07:00
David Dworken
b6b4dbe37a
Add tests for presaving history entries
2023-09-13 20:29:06 -07:00
David Dworken
6540b4dbf6
Improve logged error messages for API failures
2023-09-13 20:24:25 -07:00
David Dworken
a039b19b9c
Change root command name to all lower case so that the cobra-generated examples work correctly on case-sensitive file systems
2023-09-13 19:46:49 -07:00
David Dworken
763c8208f7
Make RetryingDbFunction more lenient so that it always ignores UNIQUE constraint errors, since if a DB.Create returns a UNIQUE error, then the create is not actually necessary
2023-09-13 19:20:15 -07:00
David Dworken
f1e2b8ddbf
Update TestSortByConsistentTimezone to not use a golden for tquery since it was leading to occasional flakes, and swap it to using a regex. Also add a test for hishtory export as part of the sorting tests.
2023-09-12 19:09:01 -07:00
David Dworken
57c5a69f7d
Fix bug where we failed to delete pre-saved history entries due to race conditions causing the DB to be locked
2023-09-12 18:55:13 -07:00
David Dworken
aebf526d1f
Add TODO for a theoretical bug I noticed
2023-09-12 17:51:55 -07:00
David Dworken
c311b09844
Improve error messages when we fail to delete pre-saved history entries
2023-09-12 15:53:52 -07:00
Sergio Moura
2b3912c750
fix check for empty array result
2023-09-11 16:34:22 -04:00
David Dworken
9b871e93ed
Fix consistent time zone sorting test to account for table sizing differences on github actions
2023-09-10 17:13:48 -07:00
David Dworken
c269e7832e
Release v0.212
2023-09-09 15:17:55 -07:00
David Dworken
e3e3a7bd0d
Add tablesizing command to get consistent table dimensions
2023-09-09 14:02:47 -07:00
David Dworken
2ccbb8d587
Store timestamps in DB in Unix time, and display them in the Local time for consistent TZs in displays, and to ensure ordering is correct
...
This fixes a bug where entries could be out of order if they were recorded on machines in different TZs (e.g. if one machine had the TZ set to UTC). Admittedly, this commit isn't a perfect fix since
it doesn't change all the existing hishtory entries to be stored in UTC, but this just means that the ordering bug will continue to exist for historical entries, but be fixed for new entries. And
for our purposes, that is good enough. :)
# Please enter the commit message for your changes. Lines starting
2023-09-09 12:28:01 -07:00
David Dworken
223598c8f2
Remove golden that was forked for actions, that didn't need to be
2023-09-09 11:56:06 -07:00
David Dworken
b6b4499a42
Add a few more ExtraDelays + comments to further improve test reliability
2023-09-09 11:50:07 -07:00
David Dworken
4d7e685a6e
Add ExtraDelay to make testTui/delete more reliable
2023-09-08 19:44:36 -07:00
David Dworken
ba099c384b
Add statsd incr for overall test failure
2023-09-08 19:40:10 -07:00
David Dworken
27d5c59263
Skip datadog integratio on macos if colima fails to start, since colima appears to be flaky due to a code signing error
2023-09-08 19:27:16 -07:00
David Dworken
3a8243d25d
Another set of extra delays for testTui/search, similar to 37c06a31db
2023-09-08 10:09:01 -07:00
David Dworken
cc10689d09
Skip running DD on non-master branches so that PRs can run successfully
2023-09-08 09:59:55 -07:00
David Dworken
37c06a31db
Add extra delay before adding token that makes it an invalid search query to make the race condition less likely
2023-09-08 09:53:39 -07:00
David Dworken
3448c3fdf6
Add hishtory export test as a pre-req for testTui/search to ensure that entries are getting properly stored
2023-09-07 22:18:16 -07:00
David Dworken
519a7ba706
Add OS tag for datadog test export
2023-09-07 22:03:03 -07:00
David Dworken
e5864c9a16
Fix datadog tags to be passed as key/values
2023-09-07 21:05:30 -07:00
David Dworken
a13549851c
Add basic datadog integration to monitor test failures in github actions
2023-09-07 18:30:47 -07:00
David Dworken
4bc23c9575
Add additional information about sync status to hishtory status -v
for debugging purposes
2023-09-07 18:10:17 -07:00
David Dworken
c73b10011b
Add TODO for a bug where sorting entries by timestamps in different timezones causes issues
2023-09-07 18:09:30 -07:00
David Dworken
578113e07c
Revert "use errors.Is
to determine what the error is" since it doesn't work with modernc.org/sqlite which we need in order to avoid using CGO (which we do to enable easy cross-compiles)
...
This reverts commit 1589f77956
. When building with CGO_ENABLED=0, this code will fail to build.
2023-09-06 20:21:00 -07:00
David Dworken
d80afc27d4
Clear out ~/.other-path/ in tests since it wasn't getting cleared, which meant retries were guaranteed to fail for this function
2023-09-06 20:13:36 -07:00
David Dworken
c5bdee9ad5
Merge pull request #102 from lsmoura/sergio/no-ctx-ptr
...
Remove context pointers since there is no need to pass around a pointer to an interface
2023-09-06 19:58:08 -07:00
Sergio Moura
ce6484f465
constant context keys
2023-09-05 15:54:47 -04:00
Sergio Moura
a12b0e5f6f
no context pointers
2023-09-05 15:45:17 -04:00
Sergio Moura
1589f77956
use errors.Is
to determine what the error is
2023-09-05 15:37:42 -04:00
Sergio Moura
83ad8c7b1f
wrap errors with %w instead of using %v
2023-09-05 15:08:55 -04:00
David Dworken
f778c1b2b6
Increase number of retries for all retriable tests on github actions
2023-09-04 21:21:13 -07:00
David Dworken
fd018fa759
Increase number of retries for testTui/search since that method appears to be the flakiest on github actions
2023-09-04 18:57:00 -07:00
David Dworken
af0234797c
Refactor test retrying functions to make the number of retries configurable, and change the default to 3 retries (I'll be tuning this number in a follow up commit)
2023-09-04 18:17:02 -07:00
David Dworken
7b02d6f2a2
Update testTui setup function to ensure that entries are also added in the remote server and not just locally, to ensure they show up post-sync
2023-09-04 18:13:22 -07:00
David Dworken
434acd3738
Increase timeout amount for all github action tests
2023-09-04 18:09:11 -07:00
David Dworken
c690688834
Implement a few additional methods on retryingTester so it works with testify
2023-09-02 17:49:31 -07:00
David Dworken
58c791b662
Add extra delay before ENTER for searching to ensure that the async query finishes
2023-09-01 21:57:25 -07:00
David Dworken
96d14d3b9f
Add extra timing between search and the atom that makes it invalid to ensure that the initial search is processed
2023-09-01 21:54:12 -07:00
David Dworken
f808e3815a
Increase num retries for github actions
2023-09-01 16:30:42 -07:00
David Dworken
ab694c38b1
Split testTui again into smaller more specific test functions
2023-09-01 16:28:41 -07:00
David Dworken
1608543a4d
Remove TODO
2023-09-01 15:57:11 -07:00
David Dworken
134dba5ddd
Auto retry testControlR since it is the other test function that is flaky due to race conditions in screenshot tests
2023-09-01 15:55:13 -07:00
David Dworken
3b07aa9a37
Split testTui method into separate smaller test methods that are more specific
2023-09-01 15:42:02 -07:00
David Dworken
21e2370d98
Rework delays to primarily only do a delay before capturing output, since that is the critical time for async rendering
2023-09-01 11:23:03 -07:00
David Dworken
5fcd7a9c7b
Further increase sleep amount on github actions since actions seem to be super slow
2023-08-29 23:47:22 -07:00
David Dworken
ddddff0f1b
Add automatic retries for the TestTui method which is sadly inherently flaky since it is akin to screenshot tests of a terminal
2023-08-29 23:23:21 -07:00
David Dworken
a53485f04b
Remove TODOs that were fixed in 23a377e3c1
2023-08-29 19:03:12 -07:00
David Dworken
5fe9515749
Fix test for the user column so it passes on github actions
2023-08-29 19:01:46 -07:00
David Dworken
23a377e3c1
Preserve cursor position after deleting entries and resizing
2023-08-29 18:59:20 -07:00
David Dworken
6bc70d0732
Add additional delay for TestTui-Search
2023-08-28 20:56:16 -07:00
David Dworken
ab567edce3
Migrate more of client tests to testify for assertions
2023-08-28 20:55:15 -07:00
David Dworken
596b5b2770
Add tests for the User column + swap to using require.NoError(...) in a few places
2023-08-28 19:27:29 -07:00
David Dworken
66f3dc13ec
Add support for displaying the user as a column via the 'User' column
2023-08-28 12:19:14 -07:00
David Dworken
5e44159a0b
Remove extraneous fmt.Println from beta-mode feature for pre-saving history entries
2023-08-27 22:11:22 -07:00
David Dworken
2490082088
no-op refactoring: Move history entry building code from lib.go to cmd file for saving history entries
2023-08-27 22:05:24 -07:00
David Dworken
fe41687fd0
Remove extraneous new lines from TUI that make the UI jump around for invalid search atoms
2023-08-27 21:47:44 -07:00
David Dworken
9b37cb6db1
Increase sleep time to make tests reliably pass even with async queries
2023-08-27 18:36:08 -07:00