{ "assetKey": "a-validator-checking-the-wrong-datasource-run", "kind": "terminal", "command": "set -e\nset -o pipefail\ncd /shared/codebase/clean-architecture-backend-template/src\nX=app-bootstrap/build/test-results/test/TEST-dev.caskeleton.bootstrap.autoconfigure.jpa.JpaResolvedDataSourceValidationTest.xml\nrm -f \"$X\"\nset +e\n./gradlew :app-bootstrap:test --tests '*JpaResolvedDataSourceValidationTest*' --offline -q 2>&1 | tail -5\ngradle_status=${PIPESTATUS[0]}\nset -e\necho \"gradle 종료 코드 : $gradle_status\"\npython3 - \"$X\" <<'PY'\nimport sys, xml.etree.ElementTree as ET\nsuite = ET.parse(sys.argv[1]).getroot()\nprint(f\" suite : {suite.get('name').rsplit('.', 1)[-1]}\")\nprint(f\" tests={suite.get('tests')} failures={suite.get('failures')} \"\n f\"errors={suite.get('errors')} skipped={suite.get('skipped')} time={suite.get('time')}s\")\nfor case in suite.findall('testcase'):\n verdict = '실패' if (case.find('failure') is not None or case.find('error') is not None) else '통과'\n print(f\" {verdict} · {case.get('name')} ({case.get('time')}s)\")\nPY\n", "cwd": "/shared/codebase/clean-architecture-backend-template/src", "exitCode": 0, "executedAt": "2026-09-03T12:41:50+00:00", "sourceRevision": "21234e38cdb9a926cbc92bb97a2aee2e4a7d2916", "raw": "evidence/raw/a-validator-checking-the-wrong-datasource-run.txt", "svg": "evidence/rendered/a-validator-checking-the-wrong-datasource-run.svg", "rawSha256": "fbae9cc7864d99f814ac73c5c46d53aa4b68f0de4d6d60999c3d1c01030086f8", "lines": 6, "redaction": "없음 — gradle 출력 끝부분과 JUnit 결과" }