Commit Graph

470 Commits

Author SHA1 Message Date
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
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
08e734a1fe
Add tests to verify the fix for #117 2023-10-21 09:00:06 -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
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
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
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
8097c31afa
Remove TODO that was fixed in f5264b6eff 2023-10-07 14:36:02 -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
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
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
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
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
83c3664de6
Add test for beta-mode enabling highlighting of matching queries 2023-09-28 22:14:22 -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
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
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
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
0627891be2
Add test for beta-mode enabling highlighting of matching queries 2023-09-24 17:57:40 -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
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
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
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
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
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
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
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
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
48e33d5034
Make the query input box in the TUI match the terminal dimensions 2023-09-14 21:14:16 -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
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
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
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
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
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
9b37cb6db1
Increase sleep time to make tests reliably pass even with async queries 2023-08-27 18:36:08 -07:00
David Dworken
eba27e7721
Fix race condition in tests introduced by a79d401058
The race condition stems from the fact that queries are now async, so there is a chance this test hits ENTER before the new search queries have come in.
2023-08-27 16:12:54 -07:00
David Dworken
9f2b392ddb
Add key binding to select an entry and cd into that directory 2023-05-19 17:14:33 -07:00
David Dworken
06cbd0e7f3
Add extra string split so the test passes on github actions 2023-05-17 08:38:47 -07:00
David Dworken
082d342b0d
Add test to cover breakage in #82 2023-05-16 17:34:25 -07:00
David Dworken
c0e56eff0d
Fix #82 by ensuring that the results list also filters out duplicates 2023-05-16 17:12:52 -07:00
David Dworken
0b13a9705d
Fix control-K in offline mode for #80 2023-04-30 08:50:17 -07:00
David Dworken
3d3260db37
Re-enable tests on actions so I can debug them 2023-02-28 19:26:13 -08:00
David Dworken
c03f9d3d76
Add tests for opening and closing the help page 2023-02-20 12:15:27 -08:00
David Dworken
b69788967f
Fix bug where typing 'foo:' and then hitting backspace would lead to the error still being displayed 2023-02-19 22:08:38 -08:00
David Dworken
4b5b729328
Add integration tests for escaping 2023-02-13 22:43:55 -08:00
David Dworken
01e9d39350
Add TUI test for scrolling right by 2 2023-02-13 20:24:20 -08:00
David Dworken
f12cc8cdff
Add basic TUI test for horizontal scrolling 2023-02-11 23:09:40 -08:00
David Dworken
fea151261f
Move goldens func to testutils and use it for some simple horizontal scrolling tests 2023-02-11 09:09:48 -08:00
David Dworken
9322614a91
Add shortcut to delete entries in the TUI to fix #33 2022-12-18 22:02:29 -08:00
David Dworken
27dce98528
Remove outdated TODO 2022-12-18 01:04:24 -08:00
David Dworken
c0bd577084
Add test to confirm that window resizing works 2022-12-18 01:01:05 -08:00
David Dworken
ebfdaa7a4a
Refactor tests to prep for supporting resizing tmux sessions 2022-12-18 00:34:25 -08:00
David Dworken
5f95ac48a4
Add control-d as an alternate key binding to close the TUI to fix #61 (plus some tests) 2022-12-18 00:27:29 -08:00
David Dworken
2edbf3977f
Add test for left scrolling in the input box 2022-12-17 12:14:28 -08:00
David Dworken
f8b51e49da
Support customizing HISHTORY_PATH for people who want to install hishtory in an alternate location to fix #54 2022-12-16 22:22:57 -08:00
David Dworken
da35036aad
Add emacs key bindings for up and down to fix #55 2022-12-16 21:20:00 -08:00
David Dworken
7a04cae1be
Fix bug in TestZDotDir test 2022-12-11 21:59:41 -08:00
David Dworken
857e423e10
Fix linter errors + some general clean up 2022-12-11 20:31:50 -08:00
David Dworken
b7533479a3
Fix config corruption bug caused by parallel writes to the same tmp file to fix #47 2022-12-11 19:15:29 -08:00
David Dworken
a269478273
Improve the zdotdir test 2022-12-11 18:51:57 -08:00
David Dworken
35444bf56e
Swap ioutil to non-deprecated alternatives + clean up pre-commit errors 2022-11-27 11:59:06 -08:00
David Dworken
5249ee6709
Add better handling for invalid searches in the TUI + better error messages in a couple other places to improve #40 2022-11-27 08:54:34 -08:00
David Dworken
22330f3ee1
Ensure that tests assert a lack of leaked connections 2022-11-26 22:40:43 -08:00
David Dworken
a390bacf89
Support multi-line commands from zsh to fix #34 2022-11-19 22:27:08 -08:00
David Dworken
f53e02731d
Replace newlines with semicolons to fix #34 2022-11-17 23:20:11 -08:00
David Dworken
1ae6b87dc1
Print a message telling people they must restart their shell per #37 2022-11-17 23:14:33 -08:00
David Dworken
fe6394d1b5
Some test fixes for the cobra integration 2022-11-16 08:03:23 -08:00
David Dworken
0667494239
Disable flag parsing for the querying functions so they can use exclusions + refactor redact to remove the --force flag 2022-11-16 08:03:23 -08:00
David Dworken
342a02a843
Add initial cobra implementation for config-* 2022-11-16 08:03:23 -08:00
David Dworken
49a1035169
Fix flakey test failures by removing cache=shared which is a discouraged mode (https://www.sqlite.org/sharedcache.html). WAL is sufficient for our purposes. Plus fix a bug where the TUI would go into an infinite loop if there were zero results. 2022-11-15 23:20:19 -08:00
David Dworken
53a417296e
Improve backup and restore env function + fix makefile with quotes + remove the zdotdir created file 2022-11-13 16:53:37 -08:00
David Dworken
6017eac4a3
Tweak zdotdir test to work on github actions 2022-11-13 16:18:06 -08:00
David Dworken
c36e147fae
respect zdotdir to fix #29 2022-11-13 15:59:59 -08:00
David Dworken
4281684528
Fix confused defer 2022-11-13 15:38:02 -08:00