code: def testFilterTests(self, *args):
      test = MockTest(
          {
              "name": "test_1",
              "frequency": "nightly",
              "smoke_test": {"frequency": "nightly"},
              "team": "team_1",
              "run": {"type": "job"},
          }
      )
      tests = [
          test,
          MockTest(
              {
                  "name": "test_2",
                  "frequency": "weekly",
                  "smoke_test": {"frequency": "nightly"},
                  "team": "team_2",
                  "run": {"type": "client"},
              }
          ),
          MockTest(
              {
                  "name": "other_1",
                  "frequency": "weekly",
                  "team": "team_2",
              }
          ),
          MockTest(
              {
                  "name": "other_2",
                  "frequency": "nightly",
                  "smoke_test": {"frequency": "multi"},
                  "team": "team_2",
                  "run": {"type": "job"},
              }
          ),
          MockTest(
              {
                  "name": "other_3",
                  "frequency": "manual",
                  "team": "team_2",
              }
          ),
          MockTest(
              {
                  "name": "test_3",
                  "frequency": "nightly",
                  "team": "team_2",
              }
          ),
      ]
  
      filtered = self._filter_names_smoke(
          tests, frequency=Frequency.ANY
      )
      self.assertSequenceEqual(
          filtered,
          [
              ("test_1", False),
              ("test_2", False),
              ("other_1", False),
              ("other_2", False),
              ("other_3", False),
              ("test_3", False),
          ],
      )
      assert not test.get("update_from_s3")
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.ANY,
          prefer_smoke_tests=True,
      )
      self.assertSequenceEqual(
          filtered,
          [
              ("test_1", True),
              ("test_2", True),
              ("other_1", False),
              ("other_2", True),
              ("other_3", False),
              ("test_3", False),
          ],
      )
  
      filtered = self._filter_names_smoke(
          tests, frequency=Frequency.NIGHTLY
      )
      self.assertSequenceEqual(
          filtered,
          [
              ("test_1", False),
              ("test_2", True),
              ("other_2", False),
              ("test_3", False),
          ],
      )
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.NIGHTLY,
          prefer_smoke_tests=True,
      )
      self.assertSequenceEqual(
          filtered,
          [
              ("test_1", True),
              ("test_2", True),
              ("other_2", True),
              ("test_3", False),
          ],
      )
  
      filtered = self._filter_names_smoke(
          tests, frequency=Frequency.WEEKLY
      )
      self.assertSequenceEqual(
          filtered, [("test_2", False), ("other_1", False)]
      )
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.NIGHTLY,
          test_attr_regex_filters={"name": "other.*"},
      )
      self.assertSequenceEqual(
          filtered,
          [
              ("other_2", False),
          ],
      )
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.NIGHTLY,
          test_attr_regex_filters={"name": "test.*"},
      )
      self.assertSequenceEqual(
          filtered,
          [("test_1", False), ("test_2", True), ("test_3", False)],
      )
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.NIGHTLY,
          test_attr_regex_filters={"name": "test"},
      )
      self.assertSequenceEqual(filtered, [])
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.NIGHTLY,
          test_attr_regex_filters={"name": "test.*", "team": "team_1"},
      )
      self.assertSequenceEqual(filtered, [("test_1", False)])
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.NIGHTLY,
          test_attr_regex_filters={"name": "test_1|test_2"},
      )
      self.assertSequenceEqual(
          filtered, [("test_1", False), ("test_2", True)]
      )
  
      # Filter by nested properties
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.ANY,
          test_attr_regex_filters={"run/type": "job"},
      )
      self.assertSequenceEqual(
          filtered, [("test_1", False), ("other_2", False)]
      )
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.ANY,
          test_attr_regex_filters={"run/type": "client"},
      )
      self.assertSequenceEqual(filtered, [("test_2", False)])
  
      filtered = self._filter_names_smoke(
          tests,
          frequency=Frequency.ANY,
          test_attr_regex_filters={"run/invalid": "xxx"},
      )
      self.assertSequenceEqual(filtered, [])
  
imports: import os
  import sys
  import tempfile
  import unittest
  from typing import Dict, Callable
  from unittest.mock import patch
  import yaml
  from github import Repository
  from ray_release.buildkite.concurrency import get_test_resources_from_cluster_compute, get_concurrency_group
  from ray_release.buildkite.filter import filter_tests, group_tests
  from ray_release.buildkite.settings import split_ray_repo_str, get_default_settings, update_settings_from_environment, Frequency, update_settings_from_buildkite, Priority, get_test_attr_regex_filters
  from ray_release.buildkite.step import get_step, RELEASE_QUEUE_DEFAULT, RELEASE_QUEUE_CLIENT, DOCKER_PLUGIN_KEY
  from ray_release.test import Test
  from ray_release.exception import ReleaseTestConfigError
  from ray_release.wheels import DEFAULT_BRANCH
label_desc: Use image node_id 7 for calling the BuildkiteSettingsTest obj's underlying member method code with example usage: obj.testFilterTests() without return types