Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Inconsistent and flaky unit-tests #2892

Merged
merged 50 commits into from
Mar 8, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
e3db3b5
Fixes for some of the failing tests
gaby Mar 3, 2024
e84e5ef
Add readiness check to serverStart()
gaby Mar 3, 2024
6783b99
Use net/http client for tests listen test
gaby Mar 3, 2024
5596887
Use different key for this test
gaby Mar 3, 2024
6f05d4b
Run Proxy Middleware tests in parallel. Add nil checks for potential …
gaby Mar 4, 2024
b337ee1
Enable parallel client tests
gaby Mar 4, 2024
53b0530
Do not run timing sensitive tests in parallel
gaby Mar 4, 2024
f1969cc
Remove TODO
gaby Mar 4, 2024
dac9a75
Revert Test_Proxy_DoTimeout_Timeout, and remove t.Parallel() for it
gaby Mar 4, 2024
d7fce2d
Do not calculate favicon len on each handler call
gaby Mar 4, 2024
c9a033c
Revert logic change
gaby Mar 4, 2024
ec9192f
Increase timeout of SaveFile tests
gaby Mar 4, 2024
394496f
Do not run time sensitive tests in parallel
gaby Mar 4, 2024
bca9f1f
The Agent can't be run in parallel
gaby Mar 4, 2024
457d20c
Do not run time sensitive tests in parallel
gaby Mar 4, 2024
97490d9
Merge main
gaby Mar 5, 2024
62fe598
Fixes based on uber/nilaway
gaby Mar 5, 2024
3e2b5c0
Revert change to Client test
gaby Mar 5, 2024
8a0bee6
Run parallel
gaby Mar 5, 2024
87b553b
Update client_test.go
gaby Mar 5, 2024
0615e27
Update client_test.go
gaby Mar 5, 2024
a4ad846
Update cache_test.go
gaby Mar 5, 2024
1e77148
Update cookiejar_test.go
gaby Mar 5, 2024
0c88ab6
Merge branch 'main' into flaky-tests
efectn Mar 5, 2024
ff66af9
Merge branch 'main' into flaky-tests
gaby Mar 5, 2024
37fd539
Remove parallel for test using timeouts
gaby Mar 5, 2024
6cd5e57
Remove t.Parallel() from logger middleware tests
gaby Mar 5, 2024
aae8c3b
Do not use testify.require in a goroutine
gaby Mar 6, 2024
1fe579e
Fix import, and update golangci-lint
gaby Mar 6, 2024
bd33f04
Remove changes to template_chain.go
gaby Mar 6, 2024
41360cc
Run more tests in parallel
gaby Mar 6, 2024
d812b0d
Add more parallel tests
gaby Mar 6, 2024
3386121
Add more parallel tests
gaby Mar 6, 2024
aa5c6dd
SetLogger can't run in parallel
gaby Mar 6, 2024
c28c9de
Run more tests in parallel, fix issue with goroutine in limiter middl…
gaby Mar 6, 2024
ea8b6a2
Update internal/storage/memory, add more benchmarks
gaby Mar 7, 2024
fef02a7
Increase sleep for csrf test by 100 milliseconds. Implement asserted …
gaby Mar 7, 2024
ad09022
Add 100 milliseconds to sleep during test
gaby Mar 7, 2024
2ea1117
Revert name change
gaby Mar 7, 2024
864885e
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 7, 2024
d414b80
Merge remote-tracking branch 'origin/main' into flaky-tests
ReneWerner87 Mar 7, 2024
a1366ac
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 7, 2024
efb201e
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
bfcbd92
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
1431315
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
ff2e337
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
686bac2
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
53f5128
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
af52a43
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
c208985
fix: Inconsistent and flaky unit-tests
ReneWerner87 Mar 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -821,10 +821,15 @@ func Test_App_ShutdownWithTimeout(t *testing.T) {
time.Sleep(5 * time.Second)
return c.SendString("body")
})

ln := fasthttputil.NewInmemoryListener()
go func() {
require.NoError(t, app.Listener(ln))
err := app.Listener(ln)
if err != nil {
panic(err)
}
}()

time.Sleep(1 * time.Second)
go func() {
conn, err := ln.Dial()
Expand Down Expand Up @@ -866,7 +871,10 @@ func Test_App_ShutdownWithContext(t *testing.T) {
ln := fasthttputil.NewInmemoryListener()

go func() {
require.NoError(t, app.Listener(ln))
err := app.Listener(ln)
if err != nil {
panic(err)
}
}()

time.Sleep(1 * time.Second)
Expand Down
34 changes: 23 additions & 11 deletions client.go
Original file line number Diff line number Diff line change
Expand Up @@ -604,14 +604,24 @@ func (a *Agent) MultipartForm(args *Args) *Agent {
})
}

for _, ff := range a.formFiles {
w, err := a.mw.CreateFormFile(ff.Fieldname, ff.Name)
if err != nil {
a.errs = append(a.errs, err)
continue
}
if _, err = w.Write(ff.Content); err != nil {
a.errs = append(a.errs, err)
// Check if a.formFiles is not nil to avoid nil dereference
if a.formFiles != nil {
for _, ff := range a.formFiles {
// Additionally, check if ff is not nil to avoid nil dereference
if ff == nil {
continue // Skip this iteration if ff is nil
}
w, err := a.mw.CreateFormFile(ff.Fieldname, ff.Name)
if err != nil {
a.errs = append(a.errs, err)
continue
}
// Check if ff.Content is not nil before writing
if ff.Content != nil {
if _, err = w.Write(ff.Content); err != nil {
a.errs = append(a.errs, err)
}
}
}
}

gaby marked this conversation as resolved.
Show resolved Hide resolved
Expand Down Expand Up @@ -854,10 +864,12 @@ func (a *Agent) reset() {
a.Name = ""
a.NoDefaultUserAgentHeader = false
for i, ff := range a.formFiles {
if ff.autoRelease {
ReleaseFormFile(ff)
if ff != nil {
if ff.autoRelease {
ReleaseFormFile(ff)
}
a.formFiles[i] = nil
}
a.formFiles[i] = nil
}
a.formFiles = a.formFiles[:0]
}
Expand Down
Loading
Loading