postgresqlPackages.tsja: move test from VM to postgresqlTestExtension
This commit is contained in:
@@ -38,6 +38,5 @@ in
|
||||
anonymizer = importWithArgs ./anonymizer.nix;
|
||||
pgjwt = importWithArgs ./pgjwt.nix;
|
||||
pgvecto-rs = importWithArgs ./pgvecto-rs.nix;
|
||||
tsja = importWithArgs ./tsja.nix;
|
||||
wal2json = importWithArgs ./wal2json.nix;
|
||||
}
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
makeTest,
|
||||
genTests,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
makeTestFor =
|
||||
package:
|
||||
makeTest {
|
||||
name = "tsja-${package.name}";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ chayleaf ];
|
||||
};
|
||||
|
||||
nodes.master =
|
||||
{ ... }:
|
||||
{
|
||||
services.postgresql = {
|
||||
inherit package;
|
||||
enable = true;
|
||||
enableJIT = lib.hasInfix "-jit-" package.name;
|
||||
extensions =
|
||||
ps: with ps; [
|
||||
tsja
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
master.wait_for_unit("postgresql")
|
||||
master.succeed("sudo -u postgres psql -f /run/current-system/sw/share/postgresql/extension/libtsja_dbinit.sql")
|
||||
# make sure "日本語" is parsed as a separate lexeme
|
||||
master.succeed("""
|
||||
sudo -u postgres \\
|
||||
psql -c "SELECT * FROM ts_debug('japanese', 'PostgreSQLで日本語のテキスト検索ができます。')" \\
|
||||
| grep "{日本語}"
|
||||
""")
|
||||
'';
|
||||
};
|
||||
in
|
||||
genTests {
|
||||
inherit makeTestFor;
|
||||
filter = _: p: !p.pkgs.tsja.meta.broken;
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
mecab,
|
||||
nixosTests,
|
||||
postgresql,
|
||||
postgresqlTestExtension,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
@@ -35,7 +36,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mv dbinit_libtsja.txt $out/share/postgresql/extension/libtsja_dbinit.sql
|
||||
'';
|
||||
|
||||
passthru.tests = nixosTests.postgresql.tsja.passthru.override postgresql;
|
||||
passthru.tests.extension = postgresqlTestExtension {
|
||||
inherit (finalAttrs) finalPackage;
|
||||
sql = ''
|
||||
\i ${finalAttrs.finalPackage}/share/postgresql/extension/libtsja_dbinit.sql
|
||||
'';
|
||||
asserts = [
|
||||
{
|
||||
query = "EXISTS (SELECT 1 FROM ts_debug('japanese', 'PostgreSQLで日本語のテキスト検索ができます。') WHERE lexemes = '{日本語}')";
|
||||
expected = "true";
|
||||
description = "make sure '日本語' is parsed as a separate lexeme";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "PostgreSQL extension implementing Japanese text search";
|
||||
|
||||
Reference in New Issue
Block a user