code: def test_series_zero_copy_cow_on():
      with cudf.option_context("copy_on_write", True):
          s = cudf.Series([1, 2, 3, 4, 5])
          s1 = s.copy(deep=False)
          cp_array = cp.asarray(s)
  
          # Ensure all original data & zero-copied
          # data is same.
          assert_eq(s, cudf.Series([1, 2, 3, 4, 5]))
          assert_eq(s1, cudf.Series([1, 2, 3, 4, 5]))
          assert_eq(cp_array, cp.array([1, 2, 3, 4, 5]))
  
          cp_array[0:3] = 10
          # Modifying a zero-copied array should only
          # modify `s` and will leave rest of the copies
          # untouched.
  
          assert_eq(s, cudf.Series([10, 10, 10, 4, 5]))
          assert_eq(s1, cudf.Series([1, 2, 3, 4, 5]))
          assert_eq(cp_array, cp.array([10, 10, 10, 4, 5]))
  
          s2 = cudf.Series(cp_array)
          assert_eq(s2, cudf.Series([10, 10, 10, 4, 5]))
  
          s3 = s2.copy(deep=False)
          cp_array[0] = 20
          # Modifying a zero-copied array should modify
          # `s2` and `s` only. Because `cp_array`
          # is zero-copy shared with `s` & `s2`.
  
          assert_eq(s, cudf.Series([20, 10, 10, 4, 5]))
          assert_eq(s1, cudf.Series([1, 2, 3, 4, 5]))
          assert_eq(cp_array, cp.array([20, 10, 10, 4, 5]))
          assert_eq(s2, cudf.Series([20, 10, 10, 4, 5]))
          assert_eq(s3, cudf.Series([10, 10, 10, 4, 5]))
  
          s4 = cudf.Series([10, 20, 30, 40, 50])
          s5 = cudf.Series(s4)
          assert_eq(s5, cudf.Series([10, 20, 30, 40, 50]))
          s5[0:2] = 1
          # Modifying `s5` should also modify `s4`
          # because they are zero-copied.
          assert_eq(s5, cudf.Series([1, 1, 30, 40, 50]))
          assert_eq(s4, cudf.Series([1, 1, 30, 40, 50]))
  
imports: import cupy
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf import Series
  from cudf.testing._utils import NUMERIC_TYPES, OTHER_TYPES, assert_eq
label_desc: Use image node_id 13 for calling a global function with example usage: test_series_zero_copy_cow_on() without return types