code: def test_write_parquet(s3_base, s3so, pdf, partition_cols):
      fname_cudf = "test_parquet_writer_cudf"
      fname_pandas = "test_parquet_writer_pandas"
      bucket = "parquet"
      gdf = cudf.from_pandas(pdf)
  
      with s3_context(s3_base=s3_base, bucket=bucket) as s3fs:
          gdf.to_parquet(
              f"s3://{bucket}/{fname_cudf}",
              partition_cols=partition_cols,
              storage_options=s3so,
          )
          assert s3fs.exists(f"s3://{bucket}/{fname_cudf}")
          pdf.to_parquet(
              f"s3://{bucket}/{fname_pandas}",
              partition_cols=partition_cols,
              storage_options=s3so,
          )
          assert s3fs.exists(f"s3://{bucket}/{fname_pandas}")
  
          got = pd.read_parquet(
              f"s3://{bucket}/{fname_pandas}", storage_options=s3so
          )
          expect = cudf.read_parquet(
              f"s3://{bucket}/{fname_cudf}", storage_options=s3so
          )
  
      assert_eq(expect, got)
  
imports: import os
  import socket
  from contextlib import contextmanager
  from io import BytesIO
  import numpy
  import pandas
  import pyarrow.fs
  import pytest
  from fsspec.core import get_fs_token_paths
  import cudf
  from cudf.testing._utils import assert_eq
label_desc: Use image node_id 18 for calling a global function with example usage: test_write_parquet(s3_base, s3so, pdf, partition_cols) without return types