nix: add postgrest-profiled-run (#3292)
This commit is contained in:
@@ -42,7 +42,7 @@ let
|
|||||||
[
|
[
|
||||||
"ARG_USE_ENV([PGRST_DB_ANON_ROLE], [postgrest_test_anonymous], [PostgREST anonymous role])"
|
"ARG_USE_ENV([PGRST_DB_ANON_ROLE], [postgrest_test_anonymous], [PostgREST anonymous role])"
|
||||||
"ARG_USE_ENV([PGRST_DB_POOL], [1], [PostgREST pool size])"
|
"ARG_USE_ENV([PGRST_DB_POOL], [1], [PostgREST pool size])"
|
||||||
"ARG_USE_ENV([PGRST_DB_POOL_ACQUISITION_TIMEOUT], [1], [PostgREST pool size])"
|
"ARG_USE_ENV([PGRST_DB_POOL_ACQUISITION_TIMEOUT], [1], [PostgREST pool timeout])"
|
||||||
"ARG_LEFTOVERS([PostgREST arguments])"
|
"ARG_LEFTOVERS([PostgREST arguments])"
|
||||||
];
|
];
|
||||||
workingDir = "/";
|
workingDir = "/";
|
||||||
|
|||||||
+24
-1
@@ -1,6 +1,7 @@
|
|||||||
# The memory tests have large dependencies (a profiled build of PostgREST)
|
# 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
|
# 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 module.
|
# the default test environment. We make them available through a separate module.
|
||||||
|
# TODO both of these require reentering the nix-shell if you make a change to the code
|
||||||
{ buildToolbox
|
{ buildToolbox
|
||||||
, checkedShellScript
|
, checkedShellScript
|
||||||
, curl
|
, curl
|
||||||
@@ -20,9 +21,31 @@ let
|
|||||||
${withTools.withPg} -f test/spec/fixtures/load.sql test/memory/memory-tests.sh
|
${withTools.withPg} -f test/spec/fixtures/load.sql test/memory/memory-tests.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
runProfiled =
|
||||||
|
checkedShellScript
|
||||||
|
{
|
||||||
|
name = "postgrest-profiled-run";
|
||||||
|
docs = "Run a profiled build of postgREST. This will generate a postgrest.prof file that can be used to do optimization. Note: if you make a change to the code, you must reenter the nix-shell for an updated profiled build.";
|
||||||
|
args =
|
||||||
|
[
|
||||||
|
"ARG_USE_ENV([PGRST_DB_ANON_ROLE], [postgrest_test_anonymous], [PostgREST anonymous role])"
|
||||||
|
"ARG_USE_ENV([PGRST_DB_POOL], [1], [PostgREST pool size])"
|
||||||
|
"ARG_USE_ENV([PGRST_DB_POOL_ACQUISITION_TIMEOUT], [1], [PostgREST pool timeout])"
|
||||||
|
"ARG_LEFTOVERS([PostgREST arguments])"
|
||||||
|
];
|
||||||
|
workingDir = "/";
|
||||||
|
withPath = [ postgrestProfiled ];
|
||||||
|
}
|
||||||
|
''
|
||||||
|
export PGRST_DB_ANON_ROLE
|
||||||
|
export PGRST_DB_POOL
|
||||||
|
export PGRST_DB_POOL_ACQUISITION_TIMEOUT
|
||||||
|
|
||||||
|
postgrest +RTS -p -h -RTS "''${_arg_leftovers[@]}"
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
buildToolbox
|
buildToolbox
|
||||||
{
|
{
|
||||||
name = "postgrest-memory";
|
name = "postgrest-memory";
|
||||||
tools = { inherit test; };
|
tools = { inherit test runProfiled; };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user