Closed
Description
Test
test-fs-promises-write-optional-params
Platform
Linux x64
Console output
No response
Build links
Additional information
There are several options in test-fs-promises-write-optional-params (at the file end) such as 'undefined', 'null', '{}' and so on. And for '{}' option we read 0 bytes in testValid()
function and read buffer hasn't any changes after read. But all asserts in testValid()
functions are OK, because 2 errors:
- No any assert for really read bytes (may be 0 or any other positive value). In the test string
assert.ok(writeResult.bytesWritten >= readResult.bytesRead);
is ok because 3>0 - Only one buffer without any resets after write is used for write/read operations. This buffer doesn't have any changes after read if 0 bytes was read and there are the same values that before write. So
assert.deepStrictEqual(writeResult.buffer, readResult.buffer);
is also ok, because both buffers are the same and because read doesn't make any changes in buffer if 0 bytes was read.
Activity
dmitry-chukanov commentedon Jan 10, 2023
The same test behavior is for
test-fs-write-optional-params
fs-write-optional-params
flakiness #46238LiviaMedeiros commentedon Jan 17, 2023
Thanks for catching this! The same also applies to
test-fs-write-sync-optional-params
.read
counterparts and for some combinations (e.g.{ length: null }
) we can't get equalbytesWritten
andbytesRead
, hence the "greater or equal" assertion. Assertion when there is an explicitlength
is indeed missing.position == null
, subsequent read starts from current file position rather than from beginning.Both errors should be fixed by linked PR, but suggestions or alternative PR are always welcome.
test: reduce `fs-write-optional-params` flakiness
test: reduce `fs-write-optional-params` flakiness
test: reduce `fs-write-optional-params` flakiness
test: reduce `fs-write-optional-params` flakiness