From 1c473b6536df12f7f8597c3a2d2d32ee1698fe58 Mon Sep 17 00:00:00 2001 From: zer0who Date: Thu, 14 Jul 2022 20:56:51 +0900 Subject: [PATCH 1/4] Deleted todo, expectedFailure --- Lib/test/test_enum.py | 2 -- Lib/test/test_pickle.py | 4 ---- Lib/test/test_pickletools.py | 4 ---- Lib/test/test_unicode.py | 2 -- vm/src/builtins/str.rs | 5 +++++ 5 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index 9fefd65f4b..29bf87714c 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -1002,8 +1002,6 @@ def test_programmatic_function_type_from_subclass_with_start(self): self.assertIn(e, SummerMonth) self.assertIs(type(e), SummerMonth) - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_subclassing(self): if isinstance(Name, Exception): raise Name diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py index 66f16f27ec..17a83023a8 100644 --- a/Lib/test/test_pickle.py +++ b/Lib/test/test_pickle.py @@ -118,13 +118,9 @@ def test_in_band_buffers(self): # TODO: RUSTPYTHON, remove when this passes def test_nested_names(self): # TODO: RUSTPYTHON, remove when this passes super().test_nested_names() # TODO: RUSTPYTHON, remove when this passes - # TODO: RUSTPYTHON, AssertionError - @unittest.expectedFailure def test_newobj_generic(self): # TODO: RUSTPYTHON, remove when this passes super().test_newobj_generic() # TODO: RUSTPYTHON, remove when this passes - # TODO: RUSTPYTHON, TypeError: cannot pickle 'weakproxy' object - @unittest.expectedFailure def test_newobj_proxies(self): # TODO: RUSTPYTHON, remove when this passes super().test_newobj_proxies() # TODO: RUSTPYTHON, remove when this passes diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py index 349e0cebd6..a6f2000b71 100644 --- a/Lib/test/test_pickletools.py +++ b/Lib/test/test_pickletools.py @@ -40,13 +40,9 @@ def test_in_band_buffers(self): # TODO: RUSTPYTHON, remove when this passes def test_nested_names(self): # TODO: RUSTPYTHON, remove when this passes super().test_nested_names() - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_newobj_generic(self): # TODO: RUSTPYTHON, remove when this passes super().test_newobj_generic() - # TODO: RUSTPYTHON, TypeError: cannot pickle 'weakproxy' object - @unittest.expectedFailure def test_newobj_proxies(self): # TODO: RUSTPYTHON, remove when this passes super().test_newobj_proxies() diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index a7c627800f..bf7feb66f5 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -2392,8 +2392,6 @@ def __iadd__(self, o): s += "4" self.assertEqual(s, "3") - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_getnewargs(self): text = 'abc' args = text.__getnewargs__() diff --git a/vm/src/builtins/str.rs b/vm/src/builtins/str.rs index 36e7e61cdf..a1dcddecb7 100644 --- a/vm/src/builtins/str.rs +++ b/vm/src/builtins/str.rs @@ -1258,6 +1258,11 @@ impl PyStr { fn encode(zelf: PyRef, args: EncodeArgs, vm: &VirtualMachine) -> PyResult { encode_string(zelf, args.encoding, args.errors, vm) } + + #[pymethod(magic)] + fn getnewargs(zelf: PyRef, vm: &VirtualMachine) -> PyObjectRef { + (zelf.as_str(),).to_pyobject(vm) + } } impl PyStrRef { From 8ad1ad28a0b05b60d0d91c5fa5d16593c917c6ff Mon Sep 17 00:00:00 2001 From: zer0who Date: Thu, 14 Jul 2022 20:57:05 +0900 Subject: [PATCH 2/4] Deleted todo lines behind code --- Lib/test/test_pickle.py | 8 ++++---- Lib/test/test_pickletools.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py index 17a83023a8..d1515a2154 100644 --- a/Lib/test/test_pickle.py +++ b/Lib/test/test_pickle.py @@ -118,11 +118,11 @@ def test_in_band_buffers(self): # TODO: RUSTPYTHON, remove when this passes def test_nested_names(self): # TODO: RUSTPYTHON, remove when this passes super().test_nested_names() # TODO: RUSTPYTHON, remove when this passes - def test_newobj_generic(self): # TODO: RUSTPYTHON, remove when this passes - super().test_newobj_generic() # TODO: RUSTPYTHON, remove when this passes + def test_newobj_generic(self): + super().test_newobj_generic() - def test_newobj_proxies(self): # TODO: RUSTPYTHON, remove when this passes - super().test_newobj_proxies() # TODO: RUSTPYTHON, remove when this passes + def test_newobj_proxies(self): + super().test_newobj_proxies() def test_notimplemented(self): # TODO: RUSTPYTHON, remove when this passes super().test_notimplemented() # TODO: RUSTPYTHON, remove when this passes diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py index a6f2000b71..7785853b53 100644 --- a/Lib/test/test_pickletools.py +++ b/Lib/test/test_pickletools.py @@ -40,10 +40,10 @@ def test_in_band_buffers(self): # TODO: RUSTPYTHON, remove when this passes def test_nested_names(self): # TODO: RUSTPYTHON, remove when this passes super().test_nested_names() - def test_newobj_generic(self): # TODO: RUSTPYTHON, remove when this passes + def test_newobj_generic(self): super().test_newobj_generic() - def test_newobj_proxies(self): # TODO: RUSTPYTHON, remove when this passes + def test_newobj_proxies(self): super().test_newobj_proxies() def test_notimplemented(self): # TODO: RUSTPYTHON, remove when this passes From aa047940c04cb2bab9b9d9885a71697fbf27b064 Mon Sep 17 00:00:00 2001 From: zer0who Date: Thu, 14 Jul 2022 21:01:14 +0900 Subject: [PATCH 3/4] Deleted todo, expectedFailure --- Lib/test/test_pickle.py | 6 ------ Lib/test/test_pickletools.py | 6 ------ 2 files changed, 12 deletions(-) diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py index d1515a2154..5d3e8a93fe 100644 --- a/Lib/test/test_pickle.py +++ b/Lib/test/test_pickle.py @@ -118,12 +118,6 @@ def test_in_band_buffers(self): # TODO: RUSTPYTHON, remove when this passes def test_nested_names(self): # TODO: RUSTPYTHON, remove when this passes super().test_nested_names() # TODO: RUSTPYTHON, remove when this passes - def test_newobj_generic(self): - super().test_newobj_generic() - - def test_newobj_proxies(self): - super().test_newobj_proxies() - def test_notimplemented(self): # TODO: RUSTPYTHON, remove when this passes super().test_notimplemented() # TODO: RUSTPYTHON, remove when this passes diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py index 7785853b53..44cd485f4b 100644 --- a/Lib/test/test_pickletools.py +++ b/Lib/test/test_pickletools.py @@ -40,12 +40,6 @@ def test_in_band_buffers(self): # TODO: RUSTPYTHON, remove when this passes def test_nested_names(self): # TODO: RUSTPYTHON, remove when this passes super().test_nested_names() - def test_newobj_generic(self): - super().test_newobj_generic() - - def test_newobj_proxies(self): - super().test_newobj_proxies() - def test_notimplemented(self): # TODO: RUSTPYTHON, remove when this passes super().test_notimplemented() From 8cbd2e53b252206adb82afacf00b45590676903d Mon Sep 17 00:00:00 2001 From: zer0who Date: Thu, 14 Jul 2022 21:01:21 +0900 Subject: [PATCH 4/4] deleted tested_newobj_generic&proxies --- Lib/test/test_pickle.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py index 5d3e8a93fe..71ef8f5619 100644 --- a/Lib/test/test_pickle.py +++ b/Lib/test/test_pickle.py @@ -223,16 +223,6 @@ def test_load_python2_str_as_bytes(self): # TODO: RUSTPYTHON, remove when this p def test_nested_names(self): # TODO: RUSTPYTHON, remove when this passes super().test_nested_names() # TODO: RUSTPYTHON, remove when this passes - # TODO: RUSTPYTHON, AssertionError: 'hello' != '' : 'hello' is not a copy of '' - @unittest.expectedFailure - def test_newobj_generic(self): # TODO: RUSTPYTHON, remove when this passes - super().test_newobj_generic() # TODO: RUSTPYTHON, remove when this passes - - # TODO: RUSTPYTHON, TypeError: cannot pickle 'weakproxy' object - @unittest.expectedFailure - def test_newobj_proxies(self): # TODO: RUSTPYTHON, remove when this passes - super().test_newobj_proxies() # TODO: RUSTPYTHON, remove when this passes - def test_notimplemented(self): # TODO: RUSTPYTHON, remove when this passes super().test_notimplemented() # TODO: RUSTPYTHON, remove when this passes