code: def test_tree_learner_null_invalid(
      boosting_type, tmpdir, local_backend
  ):
      """Test that the null tree learner is disabled.
  
      `tree_learner: null` defaults to "serial", and it was removed to avoid confusing GBM trainer settings.
      """
      input_features = [number_feature()]
      output_features = [binary_feature()]
  
      with pytest.raises(ConfigValidationError):
          _train_and_predict_gbm(
              input_features,
              output_features,
              tmpdir,
              local_backend,
              boosting_type=boosting_type,
              tree_learner=None,
          )
  
imports: import os
  import numpy
  import pytest
  from ludwig.api import LudwigModel
  from ludwig.constants import INPUT_FEATURES, MODEL_TYPE, OUTPUT_FEATURES, TRAINER
  from ludwig.error import ConfigValidationError
  from ludwig.schema.model_types.base import ModelConfig
  from tests.integration_tests import synthetic_test_data
  from tests.integration_tests.utils import binary_feature
  from tests.integration_tests.utils import category_feature
  from tests.integration_tests.utils import generate_data, number_feature, text_feature
label_desc: Use image node_id 26 for calling a global function with example usage: test_tree_learner_null_invalid(boosting_type, tmpdir, local_backend) without return types