Skip to content

Fix handling of unbuffered byte streams that split UTF-8 char across read() calls #472

Fix handling of unbuffered byte streams that split UTF-8 char across read() calls

Fix handling of unbuffered byte streams that split UTF-8 char across read() calls #472

Workflow file for this run

name: test
on:
push:
branches:
- main
pull_request:
concurrency:
group: >
${{ github.workflow }} @
${{ github.event.pull_request.head.label || github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.7"]
os: [ubuntu-20.04, windows-2019, macos-13]
include:
# set OS-specific cache paths
- os: ubuntu-20.04
path: ~/.cache/pip
- os: windows-2019
path: ~\AppData\Local\pip\Cache
- os: macos-13
path: ~/Library/Caches/pip
# more combinations:
- os: ubuntu-20.04
python-version: "pypy3.9"
path: ~/.cache/pip
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Restore Rust/Cargo cache
uses: actions/cache/restore@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-rust-v4-${{ hashFiles('**/Cargo.lock') }}
- name: Restore Python/pip cache
uses: actions/cache/restore@v3
with:
path: ${{ matrix.path }}
key: ${{ runner.os }}-python-v3-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-python-v3-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -v -e .[test]
shell: bash
- name: Run Cargo tests
run: |
cargo test --no-default-features
# XXX doesn't work on Pypy due to some shared lib issues...
if: "!startsWith(matrix.python-version, 'pypy')"
- name: Run pytest tests
run: |
pytest
- name: Save Rust/Cargo cache
uses: actions/cache/save@v3
if: always()
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-rust-v4-${{ hashFiles('**/Cargo.lock') }}
- name: Save Python/pip cache
uses: actions/cache/save@v3
if: always()
with:
path: ${{ matrix.path }}
key: ${{ runner.os }}-python-v3-${{ hashFiles('**/requirements.txt') }}