diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 33b6e7a8c2340..4c38324280528 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -73,6 +73,14 @@ jobs: env_file: actions-311.yaml pattern: "not slow and not network and not single_cpu" pandas_copy_on_write: "warn" + - name: "Copy-on-Write 3.10 (warnings)" + env_file: actions-310.yaml + pattern: "not slow and not network and not single_cpu" + pandas_copy_on_write: "warn" + - name: "Copy-on-Write 3.9 (warnings)" + env_file: actions-39.yaml + pattern: "not slow and not network and not single_cpu" + pandas_copy_on_write: "warn" - name: "Pypy" env_file: actions-pypy-39.yaml pattern: "not slow and not network and not single_cpu" diff --git a/pandas/core/generic.py b/pandas/core/generic.py index e4e95a973a3c1..c832d9ca257f9 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -12450,7 +12450,7 @@ def _inplace_method(self, other, op) -> Self: """ warn = True if not PYPY and warn_copy_on_write(): - if sys.getrefcount(self) <= 4: + if sys.getrefcount(self) <= REF_COUNT + 2: # we are probably in an inplace setitem context (e.g. df['a'] += 1) warn = False