mirror of https://github.com/pyodide/pyodide.git
Bump rust toolchain version (#5237)
This commit is contained in:
parent
e54b220cf4
commit
9907f1c4c7
|
@ -0,0 +1,10 @@
|
|||
package:
|
||||
name: rust-abi-test
|
||||
version: "1.0"
|
||||
source:
|
||||
path: src
|
||||
requirements:
|
||||
executable:
|
||||
- rustup
|
||||
about:
|
||||
license: MPL-2.0
|
|
@ -0,0 +1,19 @@
|
|||
[package]
|
||||
name = "rust-abi-test"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
pyo3 = { version = "0.22.3" }
|
||||
|
||||
[features]
|
||||
extension-module = ["pyo3/extension-module"]
|
||||
default = ["extension-module"]
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[profile.release]
|
||||
lto = "thin"
|
||||
overflow-checks = true
|
|
@ -0,0 +1,3 @@
|
|||
[build-system]
|
||||
requires = ["setuptools", "wheel", "setuptools-rust"]
|
||||
build-backend = "setuptools.build_meta"
|
|
@ -0,0 +1,12 @@
|
|||
from setuptools import setup
|
||||
from setuptools_rust import Binding, RustExtension
|
||||
|
||||
setup(
|
||||
name="rust_abi_test",
|
||||
version="1.0",
|
||||
rust_extensions=[
|
||||
RustExtension("rust_abi_test", "Cargo.toml", binding=Binding.PyO3)
|
||||
],
|
||||
# rust extensions are not zip safe, just like C-extensions.
|
||||
zip_safe=False,
|
||||
)
|
|
@ -0,0 +1,17 @@
|
|||
use std::fs;
|
||||
use pyo3::prelude::*;
|
||||
|
||||
|
||||
#[pyfunction]
|
||||
fn get_file_length(data: &str) -> PyResult<u64> {
|
||||
let metadata = fs::metadata(data)?;
|
||||
Ok(metadata.len())
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[pymodule]
|
||||
fn rust_abi_test(m: &Bound<'_, PyModule>) -> pyo3::PyResult<()> {
|
||||
m.add_function(wrap_pyfunction!(get_file_length, m)?)?;
|
||||
Ok(())
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import pytest
|
||||
from pytest_pyodide import run_in_pyodide
|
||||
|
||||
|
||||
@pytest.mark.xfail(reason="TODO: Fix me")
|
||||
@run_in_pyodide(packages=["rust-abi-test"])
|
||||
def test_rust_abi(selenium):
|
||||
from pathlib import Path
|
||||
|
||||
from rust_abi_test import get_file_length
|
||||
|
||||
contents = "this is the contents of the file\n" * 4
|
||||
Path("/test.txt").write_text(contents)
|
||||
assert get_file_length("/test.txt") == len(contents)
|
|
@ -1,7 +0,0 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "hello-world"
|
||||
version = "0.1.0"
|
|
@ -129,6 +129,9 @@ markers = [
|
|||
|
||||
[tool._pyodide]
|
||||
|
||||
[tool.pyodide.build]
|
||||
rust_toolchain = "nightly-2024-12-01"
|
||||
|
||||
[tool.codespell]
|
||||
ignore-words = 'tools/codespell_ignore_words.txt'
|
||||
skip = 'benchmark/benchmarks/pystone_benchmarks/pystone.py,src/js/package-lock.json,tools/codespell_ignore_words.txt'
|
||||
|
|
Loading…
Reference in New Issue