Use cabal v2-exec to run io tests, include io tests in nix-shell by default; remove obsolete ncat dependency (#1673)

Use cabal v2-exec to run io tests, include io tests in nix-shell by default; remove obsolete ncat dependency
This commit is contained in:
Wolfgang Walther
2020-12-01 00:37:45 +01:00
committed by GitHub
parent 07cb47e6ac
commit f2cb91740e
5 changed files with 19 additions and 23 deletions
+7 -7
View File
@@ -80,26 +80,26 @@ postgrest-test-spec-postgresql-10
```
Some additional modules like `ioTests`, `memoryTests`, `docker` and `release`
Some additional modules like `memoryTests`, `docker` and `release`
have large dependencies that would need to be built before the shell becomes
available, which could take an especially long time if the cachix binary cache
is not used. You can activate those by passing a flag to `nix-shell`, which
will make the respective utilites available:
```
$ nix-shell --arg ioTests true
$ nix-shell --arg memoryTests true
[nix-shell]$ postgrest-<tab>
postgrest-lint postgrest-test-spec-postgresql-10
postgrest-style postgrest-test-spec-postgresql-11
postgrest-style-check postgrest-test-spec-postgresql-12
postgrest-test-io postgrest-test-spec-postgresql-13
postgrest-test-memory postgrest-test-spec-postgresql-13
postgrest-test-spec postgrest-test-spec-postgresql-9.5
postgrest-test-spec-all postgrest-test-spec-postgresql-9.6
...
```
Note that `postgrest-test-io` is now also available.
Note that `postgrest-test-memory` is now also available.
To run one-off commands, you can also use `nix-shell --run <command>`, which
will lauch the Nix shell, run that one command and exit. Note that the tab
@@ -138,14 +138,14 @@ temporary test databases:
```bash
# Run the tests against the most recent version of PostgreSQL:
$ nix-shell --arg tests true --run postgrest-test-spec
$ nix-shell --run postgrest-test-spec
# Run the tests against all supported versions of PostgreSQL:
$ nix-shell --arg tests true --run postgrest-test-spec-all
$ nix-shell --run postgrest-test-spec-all
# Run the tests against a specific version of PostgreSQL (use tab-completion in
# nix-shell to see all available versions):
$ nix-shell --arg tests true --run postgrest-test-spec-postgresql-9.5
$ nix-shell --run postgrest-test-spec-postgresql-9.5
```
+9 -11
View File
@@ -8,7 +8,6 @@
, git
, haskell
, lib
, ncat
, postgresql
, postgresqlVersions
, postgrest
@@ -78,12 +77,14 @@ let
checkedShellScript
name
''
env="$(cat ${postgrest.env})"
export PATH="$env/bin:${curl}/bin:$PATH"
rootdir="$(${git}/bin/git rev-parse --show-toplevel)"
cd "$rootdir"
export PATH="${postgrestStatic}/bin:${curl}/bin:${ncat}/bin:$PATH"
${withTmpDb postgresql} "$rootdir"/test/io-tests.sh
${cabal-install}/bin/cabal v2-build ${devCabalOptions}
${cabal-install}/bin/cabal v2-exec ${withTmpDb postgresql} "$rootdir"/test/io-tests.sh
'';
testMemory =
@@ -110,16 +111,13 @@ buildEnv
[
(testSpec "postgrest-test-spec" postgresql).bin
testSpecAllVersions.bin
(testIO "postgrest-test-io" postgresql).bin
] ++ testSpecVersions;
}
# The IO an memory tests have large dependencies (a static and a profiled
# build of PostgREST respectively) and are run less often than the spec
# tests, so we don't include them in the default test environment. We make
# them available through separate attributes:
# The memory tests have large dependencies (a profiled build of PostgREST)
# and are run less often than the spec tests, so we don't include them in
# the default test environment. We make them available through a separate attribute:
// {
ioTests =
(testIO "postgrest-test-io" postgresql).bin;
memoryTests =
(testMemory "postgrest-test-memory" postgresql).bin;
}