code: def test_random_split_zero_probability_for_test_produces_no_zombie(
      df_engine, ray_cluster_2cpu
  ):
      nrows = 102
      npartitions = 10
  
      df = pd.DataFrame(
          np.random.randint(0, 100, size=(nrows, 3)),
          columns=["A", "B", "C"],
      )
      if isinstance(df_engine, DaskEngine):
          df = df_engine.df_lib.from_pandas(df, npartitions=npartitions)
  
      probs = (0.7, 0.3, 0.0)
      split_params = {
          "type": "random",
          "probabilities": probs,
      }
      splitter = get_splitter(**split_params)
  
      backend = Mock()
      backend.df_engine = df_engine
      splits = splitter.split(df, backend, random_seed=42)
  
      assert len(splits[-1]) == 0
  
file_path: ludwig/tests/ludwig/data/test_split.py
imports: from datetime import datetime, timedelta
  from itertools import combinations
  from random import randrange
  from unittest.mock import Mock
  import numpy
  import pandas
  import pytest
  from ludwig.data.dataframe.pandas import PandasEngine
  from ludwig.data.split import get_splitter
label_desc: Use image node_id 3 for calling a global function with example usage: test_random_split_zero_probability_for_test_produces_no_zombie(df_engine, ray_cluster_2cpu) without return types