Our Windows test-runner often takes close to 3m to complete the test,
this was producing a few false failures due to us adding tests over time
and test times increasing.
* fix: No org admins until organizations are in the UI
Until organizations have management UI, we should not set any org
admins. This goes around the site wide perms transparently and
is confusing to users.
Default user is no longer an org admin, so the demotion test makes
no sense
Since AgentReportStats takes a stats function which was doing mutex
locking on agent shutdown, it was possible for there to be a deadlock
depending on how the AgentReportsStats Close function is implemented.
This mostly seems to happen on Windows test runners as it's pretty hard
to hit this edge case. The bug currently only exists in the test
implementation of AgentReportStats, however, this was refactored to be
more robust in case of future changes.
* feat: add dotfiles_uri var to dogfood template
* refactor: use dotfiles if dotfiles var exists
This ensures the `coder dotfiles` command only runs if the dotfiles var
in the template is not empty.
* Update dogfood/main.tf
* refactor: assign variable to shell variable
* Update dogfood/main.tf
* fixup!: add default value
* fix: Enable reconnectingpty loadtest and fix/improve logging
This commit re-enabled reconnectingpty loadtests after a logging
refactor of `(*agent).handleReconnectingPTY`. The reasons the tests were
flaking was that `logger.Error` was being called and `slogtest` failing
the test.
We could have set the option for `slogtest` to disable failing, but that
could hide real issues. The current approach improves reconnectingpty
logging overall and provides more insight into what's happening. It's
expected that reconnectingpty sessions fail after the agent is closed,
so calling `logger.Error` at that point is not wanted.
Ref: #5322
It turns out that writing tests that contain subtests should probably be
limited to table-based tests and tests that share a common setup shared
between tests.
Writing tests with a subtest like this:
```
func TestSomething(t *testing.T) {
t.Run("Subtest", func(t *testing.t) {})
}
```
Has the following disadvantages:
- It can lead to multiple tests failing with `(unknown)` status when
only one of the subtests hang (never exit)
- In Go 1.20rc1, using `t.Setenv` is no longer allowed if the parent
test is parallel
* fix: pin code-server to 4.8.3
We're having some terminal issues on macOS clients (i.e. iPad) with 4.9.0 so downgrading to 4.8.3 in the meantime.
* Update dogfood/main.tf
* Fix helper text
- handles 0 ttl
- uses helper text typography
- pluralizes
- still doesn't override error (once considered touched)
* Show user friendly field name in error text
* Format
* Override label through Yup instead
* Switch to i18n - wip
* Fix i18n by thunking schema
* Fix template settings tests
* Replace third arg to getFieldHelpers -is used after all
To ensure ptytest closure always happens the same way, we now define a
new `Close` function on `PTY` and always call the close function instead
of manually closing read/writers.
A few additional log messages have been added as well, to better
understand the shutdown process in case of errors.