Skip to content

Remove integration test dependencies on system binaries #425

Description

@casey

Various tests call external binaries including echo, cat, and sh. I'd like to extend Just to work on windows without requiring an installation of cygwin or git-bash, so these dependencies should be removed. Also, the Just package for Nix requires an awkward workaround to patch the correct location of these binaries: https://github.com/NixOS/nixpkgs/pull/59306/files

Fortunately, the functionality that Just requires from external commands is minimal:

  • echo to print the arguments to a command
  • cat to print out the effective contents of a shebang recipe
  • sh to call sleep to introduce a delay
  • sh to return a specific error code from a child process

In order to remove dependencies on these commands, I propose we add just-test binary, and make it available to integration tests by inserting its location into the PATH environment variable. just-test could be extended with subcommands as needed to support the functionality that tests require:

  • just-test cat FILE copies the contents of FILE to stdout
  • just-test sleep N sleeps for N seconds
  • just-test code I terminates with error code I
  • just-test echo A... echos arguments to standard output

Activity

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions