Skip to content

Fix Failing Build Tests on Windows & MacOS #14

@emmacasolin

Description

@emmacasolin

Specification

This is not about integration testing, this is about our unit tests

Not all of our tests are passing on Windows/Mac, both in the CI/CD and on matrix-win-1/matrix-mac-1. Some of these are due to obvious platform differences (e.g. the usage of / vs \), but others may be more difficult to debug.

Failing tests on windows:

  • tests/bin
    • /vaults/vaults.test.ts
      • should clone and pull a vault
    • /agent
      • /start.test.ts
        • start in foreground
        • start in background
        • concurrent starts results in 1 success
        • concurrent with bootstrap results in 1 success
        • start with existing state
        • start when interrupted, requires fresh on next start
        • start from recovery code
        • start with network configuration
      • /stop.test.ts
        • stopping is idempotent during concurrent calls and STOPPING or DEAD status
        • stopping starting agent results in error
      • /status.test.ts
        • status on STARTING, STOPPING, DEAD agent
    • /secrets/secrets.test.ts
      • commandNewDir › should make a directory
      • commandNewDirSecret › should add a directory of secrets
    • /bootstrap.test.ts
      • concurrent bootstrapping results in 1 success
      • bootstrap when interrupted, requires fresh on next bootstrap
    • /utils.test.ts
      • errors in human and json format
  • tests/keys/KeyManager.test.ts
    • can reset root key pair
    • can renew root key pair
  • tests/network/Proxy.test.ts
    • connection to port 0 fails
    • open connection to port 0 fails
    • closed connection due to ending server
  • tests/nodes/NodeConnection.test.ts
    • should call `killSelf and throw if the server exit's during testUnaryFail
    • should call `killSelf and throw if the server kill's during testUnaryFail
    • should call `killSelf and throw if the server sigkill's during testUnaryFail
    • should call `killSelf and throw if the server exit's during testStreamFail
    • should call `killSelf and throw if the server kill's during testStreamFail
    • should call `killSelf and throw if the server sigkill's during testStreamFail
  • tests/vaults
    • /VaultInternal.test.ts
      • does not allow changing to an unrecognised commit
      • cannot checkout old commits after branching commit
      • can recover from dirty state
      • clean errant commits recovering from dirty state
      • garbage collection
      • can create an existing vault with CreateVaultInternal
    • /VaultManager.test.ts
      • With remote agents › clone vaults from a remote keynode using a vault name
      • With remote agents › clone vaults from a remote keynode using a vault name with no history
      • With remote agents › clone and pull vaults using a vault id
      • With remote agents › should reject Pulling when permissions are not set
      • With remote agents › can pull a cloned vault
      • With remote agents › manage pulling from different remotes
      • With remote agents › throw when trying to commit to a cloned vault
      • With remote agents › pullVault respects locking
    • /utils.test.ts
      • EFS can be read recursively
    • /VaultOps.test.ts
      • able to make directories
      • deleting a secret
      • deleting a secret within a directory
      • renaming a secret within a directory
      • listing secrets
      • adding hidden files and directories
      • updating and deleting hidden files and directories
      • adding a directory of 1 secret
      • adding a directory of 100 secrets with some secrets already existing

Failing tests on Mac (all timeouts, even when only a single test is run):

  • tests/network/proxy.test.ts
    • connection to port 0 fails
    • open connection to port 0 fails
  • tests/bin/agent/start.test.ts
    • start with network configuration

Additional context

Tasks

  1. Group tests by similar failures
  2. ...
  3. ...

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions