aboutsummaryrefslogtreecommitdiff
path: root/fs_test.go
AgeCommit message (Collapse)AuthorFilesLines
2024-02-21Upgrade golangci-lint to v1.56.2; fix gocritic issues (#1722)Gravatar Oleksandr Redko 1-1/+1
2023-11-24chore: Use 'any' instead of 'interface{}' (#1666)Gravatar Oleksandr Redko 1-1/+1
gofmt -w -r "interface{} -> any" -l .
2023-11-05Skip fs cache based on config (#1644)Gravatar Tiago Peczenyj 1-8/+105
* add cache manager struce * refactor cache by adding interface * generalize ctor * implement feature add unit tests * fix code * rename fs field as filesystem
2023-09-18Replace path.Join with filepath.Join in tests (#1623)Gravatar Oleksandr Redko 1-10/+9
2023-08-30docs: fix typos in comments and testsGravatar Oleksandr Redko 1-1/+1
2023-06-13Enable gofumpt linter; format code `gofumpt -w .` (#1576)v1.48.0Gravatar Oleksandr Redko 1-1/+1
2023-02-13docs: fix grammar issues and typos in comments (#1492)Gravatar Oleksandr Redko 1-10/+10
2023-02-10test: use T.TempDir instead of MkdirTemp (#1485)Gravatar Oleksandr Redko 1-6/+2
* test: use T.TempDir instead of MkdirTemp * Fix test by adding reader.ff.Release()
2022-11-28Revert "feat: support mulit/range (#1398)" (#1446)v1.43.0Gravatar Erik Dubbelboer 1-402/+40
This reverts commit a468a7dd3734d9866ef6ab8ee1e36695f5c3b09c.
2022-10-30feat: support mulit/range (#1398)Gravatar byene0923 1-40/+402
* feat: support mulit/range * fix: 1. lint code 2. add SetByteRanges method * fix: reduce the test number of testFSSingleByteRange
2022-09-15Deprecate Go 1.15 (#1379)Gravatar Aoang 1-10/+6
* Dropping support for 1.15. * Replaces Go 1.16 Deprecated functions * Update test build flag * Fix import sort and comment * Update github.com/klauspost/compress to v1.15.9 https://github.com/klauspost/compress improved performance and changed Minimum version is 1.16, this should be the final supported release for Go 1.16 (https://github.com/klauspost/compress/commit/6d0019a95afa3221f7522d1f2eed0033b5e79470) .
2022-06-05Response.ContentEncoding(): store as field and avoid using ↵Gravatar Sergey Ponomarev 1-7/+7
Header.SetCanonical() (#1311) * Response.ContentEncoding(): store as field The CE is not so often used for plain APIs responses and even not so often used for static files and on the fly compression. But still it should be checked each time. Also having a dedicated field getter and setter simplifies code * header.go Use shorter Response.setNonSpecial() and Request.setNonSpecial() methods instead of SetCanonical() The change should improve performance because the setSpecialHeader() call is omitted. As a downside on adding a new basic header field all putHeader() must be replaced with a direct getter and setter.
2022-04-01Use %v for errors and %q for strings (#1262)v1.35.0Gravatar Erik Dubbelboer 1-29/+29
Mostly in tests.
2022-01-10Make tests less flaky (#1189)v1.32.0Gravatar Erik Dubbelboer 1-1/+11
2021-10-31Don't run all race tests on windows (#1143)Gravatar Erik Dubbelboer 1-0/+3
* Don't run all race tests on windows It's too slow and gives a lot of false positives in our tests. * No FS tests on windows
2021-10-01Improve return value reusability documentationGravatar Erik Dubbelboer 1-1/+1
2021-09-05Some FS tests can't run in parallelGravatar Erik Dubbelboer 1-22/+8
These tests all try to create the compressed versions of files at the same time which might lead to concurrency errors.
2021-08-28Fix various Windows Github Action errors (#1082)Gravatar Erik Dubbelboer 1-14/+14
* Fix various Windows Github Action errors These tests keep giving errors because Windows Actions are slower. * Remove some timeouts We don't need timeouts in all tests, only in the ones where we are actually testing timeout logic.
2021-06-18Increase TestServerTLSReadTimeout timeoutGravatar Erik Dubbelboer 1-1/+1
And TestFSCompressConcurrent timeout
2021-06-18Lower go test timeGravatar Erik Dubbelboer 1-4/+6
2021-02-06Allow stopping FS handler cleanup gorountine (#942)Gravatar Erik Dubbelboer 1-0/+20
* Allow stopping FS handler cleanup gorountine * CleanStop
2020-09-28Brotli support in FS handler. (#880)Gravatar hex0x00 1-9/+66
* Add files via upload * Update fs.go * Add files via upload * Update fs_test.go
2020-07-15Use a directory we are sure to exist for testsv1.15.1Gravatar Erik Dubbelboer 1-4/+4
2020-06-06Try TravisCI Windows (#828)Gravatar Erik Dubbelboer 1-0/+5
* Try TravisCI Windows * prefork is supported on windows with Reuseport=true * Bit longer timeouts for tests
2020-05-18Make FS return a redirect for directories without trailing slash (#802)Gravatar Moritz Marquardt 1-0/+30
* Make FS return a redirect for directories without trailing slash Fixes #792 * Add a test for the directory redirect * Fix directory redirects for ServeFile * Fix error message Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>
2020-01-12Resolve code issues from goreportcard.com (#725)Gravatar Andy Pan 1-1/+1
2019-11-16Run golangci-lint using a Github ActionGravatar Erik Dubbelboer 1-3/+3
2019-10-19Fix race condition in tests, fix URI bugGravatar Erik Dubbelboer 1-2/+4
- Some tests can't be run in parallel. - `URI` had a pointer to `RequestHeader` which was updated with `RequestHeader.CopyTo` which resulted in the URI pointing to the wrong `RequestHeader` causing bugs and race conditions. The only reason `URI` contained a pointer to `RequestHeader` was to delay the call to `RequestHeader.Host()` until really needed. But these days instead of parsing all headers, `RequestHeader.Host()` uses `RequestHeader.peekRawHeader()` which is rather fast. So we can remove the pointer in `URI` and completely decouple the two structs improving code quality and fixing the bug. For some reason this results in faster code on average as well: benchmark old ns/op new ns/op delta BenchmarkClientGetEndToEnd1Inmemory-8 1189 1369 +15.14% BenchmarkClientGetEndToEnd10Inmemory-8 1143 1161 +1.57% BenchmarkClientGetEndToEnd100Inmemory-8 1228 1236 +0.65% BenchmarkClientGetEndToEnd1000Inmemory-8 1213 1213 +0.00% BenchmarkClientGetEndToEnd10KInmemory-8 1362 1350 -0.88% BenchmarkClientEndToEndBigResponse1Inmemory-8 139967 130070 -7.07% BenchmarkClientEndToEndBigResponse10Inmemory-8 142233 131809 -7.33% BenchmarkServerGet1ReqPerConn-8 1726 1593 -7.71% BenchmarkServerGet2ReqPerConn-8 882 927 +5.10% BenchmarkServerGet10ReqPerConn-8 440 436 -0.91% BenchmarkServerGet10KReqPerConn-8 341 339 -0.59% BenchmarkServerPost1ReqPerConn-8 1728 1706 -1.27% BenchmarkServerPost2ReqPerConn-8 968 963 -0.52% BenchmarkServerPost10ReqPerConn-8 506 505 -0.20% BenchmarkServerPost10KReqPerConn-8 424 420 -0.94% BenchmarkServerGet1ReqPerConn10KClients-8 1117 1051 -5.91% BenchmarkServerGet2ReqPerConn10KClients-8 565 514 -9.03% BenchmarkServerGet10ReqPerConn10KClients-8 390 387 -0.77% BenchmarkServerGet100ReqPerConn10KClients-8 355 348 -1.97% BenchmarkServerHijack-8 339 348 +2.65% BenchmarkServerMaxConnsPerIP-8 326 325 -0.31% BenchmarkServerTimeoutError-8 24355 24180 -0.72%
2019-10-16Speed up testing by running tests in parallelGravatar Erik Dubbelboer 1-0/+32
2019-05-28:zap: Used Headers constants instead raw stringsGravatar Maxim Lebedev 1-9/+9
2019-05-06Added methods constants (#567)Gravatar Maxim Lebedev 1-2/+2
* :sparkles: Added methods constants * :ok_hand: Fixed methods comment due to review changes
2019-02-02Various changes regarding code readibility (#523)Gravatar Shulhan 1-3/+3
* all: use sort.Strings when applicable Basically, sort.Strings is the shortcut of Sort(StringSlice(a)) but its more readable. * all: replace string(bytes.Buffer.Bytes()) with bytes.Buffer.String() Although its only occured on test files, it may be worth to simplified it. * http_test: simplify strings.Index with strings.Contains Both have the same O(n), but strings.Contains more readable on if-condition. * args: simplify if-condition check on boolean value * all: simplify variable initialization If we assign the variable after declaring it, we can simplify it using ":=" operator or "= value". The reader can still known the type of variable from the struct name or variable type before assignment operator.
2018-09-20Fix Content-Type bug in FSGravatar Erik Dubbelboer 1-0/+22
Fixes #417
2018-08-17Added PathNotFound handle func for handling 404.Gravatar Erik Dubbelboer 1-0/+45
See https://github.com/erikdubbelboer/fasthttp/pull/10
2016-07-12Add test for fsSmallFileReader.WriteTo and fix bug (#128)Gravatar Victor Gaydov 1-0/+53
The bug raises when io.Writer passed to fsSmallFileReader.WriteTo doesn't support ReadFrom interface.
2016-05-24Issue #103: Added FS.CompressedFileSuffix and clarified ↵Gravatar Aliaksandr Valialkin 1-13/+13
FSHandlerCacheDuration documentation
2016-02-21reduced the time required to run tests with race detector enabledGravatar Aliaksandr Valialkin 1-1/+1
2016-02-08Issue #47: allow out-of range offsets in byte range headers according to RFC ↵Gravatar Aliaksandr Valialkin 1-3/+9
2616
2016-02-04Enabled virtual hosting support in example fileserverGravatar Aliaksandr Valialkin 1-0/+39
2016-01-18FS optimization: do not read file contents on HEAD requestsGravatar Aliaksandr Valialkin 1-2/+39
2016-01-18Improved ServeFile* testsGravatar Aliaksandr Valialkin 1-2/+9
2016-01-17Added ServeFile and ServeFileUncompressed to be on par with net/httpGravatar Aliaksandr Valialkin 1-0/+58
2016-01-05FS: added support for byte range requestsGravatar Aliaksandr Valialkin 1-0/+156
2015-12-29Added transparent compression option to FSGravatar Aliaksandr Valialkin 1-7/+124
2015-12-09Renamed fshandler to fsGravatar Aliaksandr Valialkin 1-0/+166