Skip to content

Fix Failing Build Tests on Windows & MacOS #14

Open
@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. ...

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