From 9283cbce401f221f084a05751b87d754ad8de74a Mon Sep 17 00:00:00 2001 From: Leon Zhao Date: Sun, 31 Aug 2025 08:36:50 +0800 Subject: [PATCH 1/4] chore: remove version test --- tests/test_basic.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/test_basic.py b/tests/test_basic.py index ae20db0..bab4880 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -1,7 +1,4 @@ -from loro import LoroDoc, ExportMode, VersionVector, LORO_VERSION - -def test_version(): - assert LORO_VERSION == "1.4.2" +from loro import LoroDoc, ExportMode, VersionVector def test_basic(): doc = LoroDoc() From b1f8ffa6fd9dc3a672e7f654f59bd5cb8360f244 Mon Sep 17 00:00:00 2001 From: Leon Zhao Date: Sun, 31 Aug 2025 08:43:48 +0800 Subject: [PATCH 2/4] chore: add ci --- .github/workflows/test.yml | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..2f0b69a --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,42 @@ +name: Test + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + workflow_dispatch: + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [ '3.12' ] + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - uses: dtolnay/rust-toolchain@stable + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements-dev.txt + pip install maturin + + - name: Build and install package + run: | + maturin develop --quiet + + - name: Run tests + run: | + pytest -q + + From 95f52132bbd7e39eab6f764841f2d2989b397bbf Mon Sep 17 00:00:00 2001 From: Leon Zhao Date: Sun, 31 Aug 2025 08:59:56 +0800 Subject: [PATCH 3/4] fix: use venv for test --- .github/workflows/test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2f0b69a..043f1a8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,18 +25,22 @@ jobs: - uses: dtolnay/rust-toolchain@stable - - name: Install Python dependencies + - name: Set up venv and install dependencies run: | + python -m venv .venv + . .venv/bin/activate python -m pip install --upgrade pip pip install -r requirements-dev.txt pip install maturin - name: Build and install package run: | + . .venv/bin/activate maturin develop --quiet - name: Run tests run: | + . .venv/bin/activate pytest -q From 3b0631462157cb8f38bf3d4b977e5b5c05c535c2 Mon Sep 17 00:00:00 2001 From: Leon Zhao Date: Sun, 31 Aug 2025 09:05:12 +0800 Subject: [PATCH 4/4] fix: warning --- src/awareness.rs | 4 ++-- src/convert.rs | 2 +- src/doc.rs | 2 +- src/version.rs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/awareness.rs b/src/awareness.rs index 9ef337a..49259e0 100644 --- a/src/awareness.rs +++ b/src/awareness.rs @@ -25,12 +25,12 @@ impl Awareness { Self(loro::awareness::Awareness::new(peer, timeout)) } - pub fn encode(&self, peers: Vec) -> Cow<[u8]> { + pub fn encode(&self, peers: Vec) -> Cow<'_, [u8]> { let ans: Vec = self.0.encode(&peers); Cow::Owned(ans) } - pub fn encode_all(&self) -> Cow<[u8]> { + pub fn encode_all(&self) -> Cow<'_, [u8]> { let ans: Vec = self.0.encode_all(); Cow::Owned(ans) } diff --git a/src/convert.rs b/src/convert.rs index 6727eb5..a9c8912 100644 --- a/src/convert.rs +++ b/src/convert.rs @@ -125,7 +125,7 @@ pub fn pyobject_to_loro_value(obj: &Bound<'_, PyAny>) -> PyResult PyResult> { +pub fn loro_value_to_pyobject(py: Python<'_>, value: LoroValue) -> PyResult> { match value.0 { loro::LoroValue::Null => Ok(py.None().into_pyobject(py)?.into_any().into_bound()), loro::LoroValue::Bool(b) => Ok(PyBool::new(py, b) diff --git a/src/doc.rs b/src/doc.rs index 89121ca..4131ce6 100644 --- a/src/doc.rs +++ b/src/doc.rs @@ -802,7 +802,7 @@ impl LoroDoc { } /// Export the document in the given mode. - pub fn export(&self, mode: ExportMode) -> PyLoroResult> { + pub fn export(&self, mode: ExportMode) -> PyLoroResult> { let ans = self.doc.export(mode.into())?; Ok(Cow::Owned(ans)) } diff --git a/src/version.rs b/src/version.rs index a439e80..fab836d 100644 --- a/src/version.rs +++ b/src/version.rs @@ -48,7 +48,7 @@ impl Frontiers { )) } - pub fn encode(&self) -> Cow<[u8]> { + pub fn encode(&self) -> Cow<'_, [u8]> { let ans: Vec = self.0.encode(); Cow::Owned(ans) } @@ -311,7 +311,7 @@ impl VersionVector { } #[inline(always)] - pub fn encode(&self) -> Cow<[u8]> { + pub fn encode(&self) -> Cow<'_, [u8]> { let ans: Vec = self.0.encode(); Cow::Owned(ans) }