test: config_settings matching latest minor versions (#1738)

This is a followup to #1720 to add better tests as commented in the PR
and we ensure that we match correctly when the config setting is
configured to a minor version.
diff --git a/tests/config_settings/construct_config_settings_tests.bzl b/tests/config_settings/construct_config_settings_tests.bzl
index 8e42171..61beb9c 100644
--- a/tests/config_settings/construct_config_settings_tests.bzl
+++ b/tests/config_settings/construct_config_settings_tests.bzl
@@ -13,6 +13,7 @@
 # limitations under the License.
 """Tests for construction of Python version matching config settings."""
 
+load("@//python:versions.bzl", "MINOR_MAPPING")
 load("@rules_testing//lib:analysis_test.bzl", "analysis_test")
 load("@rules_testing//lib:test_suite.bzl", "test_suite")
 load("@rules_testing//lib:truth.bzl", "subjects")
@@ -30,6 +31,7 @@
         "match_micro": attr.string(),
         "match_minor": attr.string(),
         "no_match": attr.string(),
+        "no_match_micro": attr.string(),
     },
 )
 
@@ -74,6 +76,54 @@
 
 _tests.append(_test_minor_version_matching)
 
+def _test_latest_micro_version_matching(name):
+    rt_util.helper_target(
+        _subject,
+        name = name + "_subject",
+        match_minor = select({
+            "//python/config_settings:is_python_3.12": "matched-3.12",
+            "//conditions:default": "matched-default",
+        }),
+        match_micro = select({
+            "//python/config_settings:is_python_" + MINOR_MAPPING["3.12"]: "matched-3.12",
+            "//conditions:default": "matched-default",
+        }),
+        no_match_micro = select({
+            "//python/config_settings:is_python_3.12.0": "matched-3.12",
+            "//conditions:default": "matched-default",
+        }),
+        no_match = select({
+            "//python/config_settings:is_python_" + MINOR_MAPPING["3.11"]: "matched-3.11",
+            "//conditions:default": "matched-default",
+        }),
+    )
+
+    analysis_test(
+        name = name,
+        target = name + "_subject",
+        impl = _test_latest_micro_version_matching_impl,
+        config_settings = {
+            str(Label("//python/config_settings:python_version")): "3.12",
+        },
+    )
+
+def _test_latest_micro_version_matching_impl(env, target):
+    target = env.expect.that_target(target)
+    target.attr("match_minor", factory = subjects.str).equals(
+        "matched-3.12",
+    )
+    target.attr("match_micro", factory = subjects.str).equals(
+        "matched-3.12",
+    )
+    target.attr("no_match_micro", factory = subjects.str).equals(
+        "matched-default",
+    )
+    target.attr("no_match", factory = subjects.str).equals(
+        "matched-default",
+    )
+
+_tests.append(_test_latest_micro_version_matching)
+
 def construct_config_settings_test_suite(name):
     test_suite(
         name = name,
diff --git a/tests/toolchains/config_settings/BUILD.bazel b/tests/toolchains/config_settings/BUILD.bazel
deleted file mode 100644
index babd19f..0000000
--- a/tests/toolchains/config_settings/BUILD.bazel
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2024 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
-
-# Do bazel query for the following targets and put the results into a file
-_TARGETS = [
-    "is_python_3.12.0",
-    "is_python_3.12.1",
-    "_is_python_3.12.1",
-    "_python_version_flag_equals_3.12.1",
-    "_python_version_flag_equals_3.12",
-]
-
-[
-    genquery(
-        name = target,
-        expression = "//python/config_settings:" + target,
-        opts = ["--output=build"],
-        scope = ["//python/config_settings:" + target],
-    )
-    for target in _TARGETS
-]
-
-genrule(
-    name = "config_settings_query",
-    srcs = _TARGETS,
-    outs = ["config_settings_query.txt"],
-    # Strip comments that are specific to the host it is being run on and make the
-    # expectation output more maintainable.
-    cmd = "sed -e '/^#/d' -e '/^  generator_/d' $(SRCS) >$@",
-    target_compatible_with = select({
-        # We don't have sed available on Windows
-        "@platforms//os:windows": ["@platforms//:incompatible"],
-        "//conditions:default": [],
-    }),
-)
-
-diff_test(
-    name = "config_settings_test",
-    file1 = "want",
-    file2 = "config_settings_query",
-)
diff --git a/tests/toolchains/config_settings/want b/tests/toolchains/config_settings/want
deleted file mode 100644
index 0ecbd67..0000000
--- a/tests/toolchains/config_settings/want
+++ /dev/null
@@ -1,27 +0,0 @@
-config_setting(
-  name = "is_python_3.12.0",
-  visibility = ["//visibility:public"],
-  flag_values = {"//python/config_settings:python_version": "3.12.0"},
-)
-
-alias(
-  name = "is_python_3.12.1",
-  visibility = ["//visibility:public"],
-  actual = "//python/config_settings:_is_python_3.12.1",
-)
-
-alias(
-  name = "_is_python_3.12.1",
-  actual = select({"//python/config_settings:_python_version_flag_equals_3.12.1": "//python/config_settings:_python_version_flag_equals_3.12.1", "//conditions:default": "//python/config_settings:_python_version_flag_equals_3.12"}),
-)
-
-config_setting(
-  name = "_python_version_flag_equals_3.12.1",
-  flag_values = {"//python/config_settings:python_version": "3.12.1"},
-)
-
-config_setting(
-  name = "_python_version_flag_equals_3.12",
-  flag_values = {"//python/config_settings:python_version": "3.12"},
-)
-