Run tests against Ubuntu, macOS and Windows

With tests fixes for Windows, thanks to @nieuwenhoven in #225. Closes #232
This commit is contained in:
Simon Willison 2021-02-14 12:39:54 -08:00 committed by GitHub
commit f51a1f6c3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 7 deletions

View file

@ -4,11 +4,12 @@ on: [push]
jobs:
test:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
numpy: [0, 1]
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}

View file

@ -93,7 +93,7 @@ def test_tables_counts_and_columns_csv(db_path, format, expected):
result = CliRunner().invoke(
cli.cli, ["tables", "--counts", "--columns", format, db_path]
)
assert result.output.strip() == expected
assert result.output.strip().replace("\r", "") == expected
def test_tables_schema(db_path):
@ -870,12 +870,13 @@ def test_query_csv(db_path, format, expected):
cli.cli, [db_path, "select id, name, age from dogs", format]
)
assert 0 == result.exit_code
assert result.output == expected
assert result.output.replace("\r", "") == expected
# Test the no-headers option:
result = CliRunner().invoke(
cli.cli, [db_path, "select id, name, age from dogs", "--no-headers", format]
)
assert result.output.strip() == "\n".join(expected.split("\n")[1:]).strip()
expected_rest = "\n".join(expected.split("\n")[1:]).strip()
assert result.output.strip().replace("\r", "") == expected_rest
_all_query = "select id, name, age from dogs"
@ -1760,7 +1761,7 @@ def test_search(tmpdir, fts, extra_arg, expected):
catch_exceptions=False,
)
assert result.exit_code == 0
assert result.output == expected
assert result.output.replace("\r", "") == expected
_TRIGGERS_EXPECTED = '[{"name": "blah", "table": "articles", "sql": "CREATE TRIGGER blah AFTER INSERT ON articles\\nBEGIN\\n UPDATE counter SET count = count + 1;\\nEND"}]\n'

View file

@ -1,5 +1,6 @@
from sqlite_utils import cli, Database
from click.testing import CliRunner
import os
import pathlib
@ -42,7 +43,7 @@ def test_insert_files():
one, two, three = (
rows_by_path["one.txt"],
rows_by_path["two.txt"],
rows_by_path["nested/three.txt"],
rows_by_path[os.path.join("nested", "three.txt")],
)
assert {
"content": b"This is file one",
@ -64,7 +65,7 @@ def test_insert_files():
"content": b"Three is nested",
"md5": "12580f341781f5a5b589164d3cd39523",
"name": "three.txt",
"path": "nested/three.txt",
"path": os.path.join("nested", "three.txt"),
"sha256": "6dd45aaaaa6b9f96af19363a92c8fca5d34791d3c35c44eb19468a6a862cc8cd",
"size": 15,
}.items() <= three.items()