Skip to content

test-fs-promises-write-optional-params does't check read bytes counts  #46144

Closed
@dmitry-chukanov

Description

@dmitry-chukanov

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:

  1. 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
  2. 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

added
flaky-testIssues and PRs related to the tests with unstable failures on the CI.
on Jan 9, 2023
added
linuxIssues and PRs related to the Linux platform.
on Jan 9, 2023
dmitry-chukanov

dmitry-chukanov commented on Jan 10, 2023

@dmitry-chukanov
Author

The same test behavior is for test-fs-write-optional-params

added
fsIssues and PRs related to the fs subsystem / file system.
and removed
linuxIssues and PRs related to the Linux platform.
on Jan 17, 2023
LiviaMedeiros

LiviaMedeiros commented on Jan 17, 2023

@LiviaMedeiros
Contributor

Thanks for catching this! The same also applies to test-fs-write-sync-optional-params.

  1. This part of test checks compatibility with read counterparts and for some combinations (e.g. { length: null }) we can't get equal bytesWritten and bytesRead, hence the "greater or equal" assertion. Assertion when there is an explicit length is indeed missing.
  2. There is an issue in these tests: when 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    flaky-testIssues and PRs related to the tests with unstable failures on the CI.fsIssues and PRs related to the fs subsystem / file system.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      test-fs-promises-write-optional-params does't check read bytes counts · Issue #46144 · nodejs/node