diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py index 40313cb39..51c834d79 100644 --- a/Lib/test/test_compile.py +++ b/Lib/test/test_compile.py @@ -757,8 +757,6 @@ if 1: self.assertTrue(f1(0)) self.assertTrue(f2(0.0)) - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_path_like_objects(self): # An implicit test for PyUnicode_FSDecoder(). compile("42", FakePath("test_compile_pathlike"), "single") diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py index 2d87370d9..b2fee6207 100644 --- a/Lib/test/test_runpy.py +++ b/Lib/test/test_runpy.py @@ -656,8 +656,6 @@ class RunPathTestCase(unittest.TestCase, CodeExecutionMixin): self._check_script(script_name, "", script_name, script_name, expect_spec=False) - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_basic_script_with_path_object(self): with temp_dir() as script_dir: mod_name = 'script' diff --git a/vm/src/stdlib/builtins.rs b/vm/src/stdlib/builtins.rs index 8de45bfd8..9b4a316b1 100644 --- a/vm/src/stdlib/builtins.rs +++ b/vm/src/stdlib/builtins.rs @@ -21,7 +21,8 @@ mod builtins { convert::ToPyException, function::{ ArgBytesLike, ArgCallable, ArgIndex, ArgIntoBool, ArgIterable, ArgMapping, - ArgStrOrBytesLike, Either, FuncArgs, KwArgs, OptionalArg, OptionalOption, PosArgs, + ArgStrOrBytesLike, Either, FsPath, FuncArgs, KwArgs, OptionalArg, OptionalOption, + PosArgs, }, protocol::{PyIter, PyIterReturn}, py_io, @@ -97,7 +98,7 @@ mod builtins { #[allow(dead_code)] struct CompileArgs { source: PyObjectRef, - filename: PyStrRef, + filename: FsPath, mode: PyStrRef, #[pyarg(any, optional)] flags: OptionalArg, diff --git a/vm/src/stdlib/os.rs b/vm/src/stdlib/os.rs index 9854bf59e..d10acf1b2 100644 --- a/vm/src/stdlib/os.rs +++ b/vm/src/stdlib/os.rs @@ -5,6 +5,7 @@ use crate::{ function::{ArgumentError, FromArgs, FsPath, FuncArgs}, AsObject, Py, PyObjectRef, PyPayload, PyResult, TryFromObject, VirtualMachine, }; + use std::{ ffi, fs, io, path::{Path, PathBuf},