From 21e741feb7f9ed97fd77a3f29dfbfe9637eeefc1 Mon Sep 17 00:00:00 2001 From: Daniel D'Avella Date: Wed, 6 Mar 2024 15:48:06 -0500 Subject: [PATCH 1/2] Add test case for changed lined numbers in use-walrus-if --- tests/codemods/test_walrus_if.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/codemods/test_walrus_if.py b/tests/codemods/test_walrus_if.py index 4cd90411..51025ef4 100644 --- a/tests/codemods/test_walrus_if.py +++ b/tests/codemods/test_walrus_if.py @@ -181,3 +181,35 @@ def func(y): print("whatever", y) """ self.run_and_assert(tmpdir, input_code, expected_output) + + @pytest.mark.xfail(reason="Need to recompute line numbers to reflect removed lines") + def test_multiple_warlus_changes(self, tmpdir): + input_code = """ + val = do_something() + if val is not None: + do_something_else(val) + + foo = hello() + if foo == "bar": + whatever(foo) + + bar = do_something_else() + if bar is not None: + do_something(bar) + """ + expected_output = """ + if (val := do_something()) is not None: + do_something_else(val) + + if (foo := hello()) == "bar": + whatever(foo) + + if (bar := do_something_else()) is not None: + do_something(bar) + """ + self.run_and_assert(tmpdir, input_code, expected_output, num_changes=3) + + changes = self.changeset[0].changes + assert changes[0].lineNumber == 2 + assert changes[1].lineNumber == 5 + assert changes[2].lineNumber == 8 From d6ac7554d075476af30fe1f23d51ee4224bee1bc Mon Sep 17 00:00:00 2001 From: Daniel D'Avella Date: Wed, 6 Mar 2024 16:27:04 -0500 Subject: [PATCH 2/2] Bump unit test timeout to 25 mins --- .github/workflows/test.yml | 2 +- tests/codemods/test_walrus_if.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index afe48dc4..d2afdfd3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,7 +38,7 @@ jobs: test: name: Run pytest runs-on: ubuntu-20.04 - timeout-minutes: 22 + timeout-minutes: 25 strategy: matrix: python-version: ['3.10', '3.11', '3.12'] diff --git a/tests/codemods/test_walrus_if.py b/tests/codemods/test_walrus_if.py index 51025ef4..1a6b404d 100644 --- a/tests/codemods/test_walrus_if.py +++ b/tests/codemods/test_walrus_if.py @@ -183,7 +183,7 @@ def func(y): self.run_and_assert(tmpdir, input_code, expected_output) @pytest.mark.xfail(reason="Need to recompute line numbers to reflect removed lines") - def test_multiple_warlus_changes(self, tmpdir): + def test_multiple_walrus_changes(self, tmpdir): input_code = """ val = do_something() if val is not None: