{"record":{"id":"f8d91d36aea35ca0","repo":"apache/beam","slug":"unknown-yamltestset-currenttestset-must-be-one-of-data","errorCode":null,"errorMessage":"Unknown yamlTestSet: ${currentTestSet}. Must be one of 'data', 'databases', 'messaging', or 'e2e'.","messagePattern":"Unknown yamlTestSet: (.+?)\\. Must be one of 'data', 'databases', 'messaging', or 'e2e'\\.","errorType":"validation","errorClass":"StopExecutionException","httpStatus":null,"severity":"error","filePath":"sdks/python/build.gradle","lineNumber":206,"sourceCode":"    def testSetsToRun = testSetInput.tokenize(',').collect { it.trim() }.findAll { !it.isEmpty() }\n    testSetsToRun.each { currentTestSet ->\n      def test_files_dir\n\n      switch (currentTestSet) {\n        case 'data':\n          test_files_dir = 'extended_tests/data'\n          break\n        case 'databases':\n          test_files_dir = 'extended_tests/databases'\n          break\n        case 'messaging':\n          test_files_dir = 'extended_tests/messaging'\n          break\n        case 'e2e':\n          test_files_dir = 'extended_tests/e2e'\n          break\n        default:\n          throw StopExecutionException(\"Unknown yamlTestSet: ${currentTestSet}. Must be one of 'data', 'databases', 'messaging', or 'e2e'.\")\n      }\n      exec {\n        executable 'sh'\n        args '-c', \"${envdir}/bin/pytest -v apache_beam/yaml/integration_tests.py --test_files_dir='${test_files_dir}'\"\n      }\n    }\n  }\n}\n\n// Create Python wheels for given platform and Python version\n// build identifiers for cibuildwheel\ndef platform_identifiers_map = [\n  linux: 'manylinux_*64*', // e.g. manylinux_x86_64, manylinux_aarch64\n  macos:'macosx_*64*',     // e.g. macosx_x86_64, macosx_arm64\n  windows: 'win_*64*',     // e.g. win_amd64, win_arm64\n]\n\nplatform_identifiers_map.each { platform, idsuffix ->","sourceCodeStart":188,"sourceCodeEnd":224,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/python/build.gradle#L188-L224","documentation":"The Beam Python YAML integration test Gradle task accepts a -PyamlTestSet argument and selects a test directory via a switch. If the value is not one of 'data', 'databases', 'messaging', or 'e2e', the Gradle build aborts immediately with StopExecutionException before running pytest.","triggerScenarios":"Running the yaml integration test Gradle task with -PyamlTestSet=<anything other than data|databases|messaging|e2e>, including typos, wrong case, or passing the flag empty.","commonSituations":"Typo in the property name/value; copying a command from older docs where the allowed sets differed; CI scripts passing interpolated values that resolve to blank or unknown strings.","solutions":["Re-run with one of the valid values, e.g. ./gradlew :sdks:python:test-suites... -PyamlTestSet=data","Check for typos and case sensitivity (values are lowercase).","In CI, print/echo the interpolated yamlTestSet value to see what is actually passed.","Consult current Beam docs for the exact supported test sets."],"exampleFix":"// before\n./gradlew yamlIntegrationTest -PyamlTestSet=integration\n// after\n./gradlew yamlIntegrationTest -PyamlTestSet=data","handlingStrategy":"validation","validationCode":"VALID_SETS = {\"data\", \"databases\", \"messaging\", \"e2e\"}\nassert yaml_test_set in VALID_SETS, f\"yamlTestSet must be one of {sorted(VALID_SETS)}, got {yaml_test_set!r}\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use a fixed enum/list of allowed values in CI scripts rather than free-form strings.","Echo the resolved Gradle property in CI logs for debugging.","Keep commands in version-controlled scripts so typos get reviewed."],"tags":["gradle","python","build","yaml","beam"],"backgroundTag":"invalid-cli-argument","analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-20T03:17:13.778Z"}