{"record":{"id":"dd57979414e88d80","repo":"oven-sh/bun","slug":"vendor-name-does-not-have-a-test-directory","errorCode":null,"errorMessage":"Vendor '${name}' does not have a test directory: ${testParentPath}","messagePattern":"Vendor '(.+?)' does not have a test directory: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"scripts/runner.node.mjs","lineNumber":2433,"sourceCode":"        if (!ok) throw new Error(`failed to fetch tag ${tag} for vendor '${name}': ${error}`);\n\n        ({ ok, error } = await spawnSafe({\n          command: \"git\",\n          args: [\"checkout\", tag],\n          timeout: testTimeout,\n          cwd: vendorPath,\n        }));\n        if (!ok) throw new Error(`failed to checkout tag ${tag} for vendor '${name}': ${error}`);\n\n        const packageJsonPath = join(vendorPath, \"package.json\");\n        if (!existsSync(packageJsonPath)) {\n          throw new Error(`Vendor '${name}' does not have a package.json: ${packageJsonPath}`);\n        }\n\n        const testPathPrefix = testPath || \"test\";\n        const testParentPath = join(vendorPath, testPathPrefix);\n        if (!existsSync(testParentPath)) {\n          throw new Error(`Vendor '${name}' does not have a test directory: ${testParentPath}`);\n        }\n\n        const isTest = path => {\n          if (!isJavaScriptTest(path)) {\n            return false;\n          }\n\n          if (typeof skipTests === \"boolean\") {\n            return !skipTests;\n          }\n\n          if (typeof skipTests === \"object\") {\n            for (const [glob, reason] of Object.entries(skipTests)) {\n              const pattern = new RegExp(`^${glob.replace(/\\*/g, \".*\")}$`);\n              if (pattern.test(path) && reason) {\n                return false;\n              }\n            }","sourceCodeStart":2415,"sourceCodeEnd":2451,"githubUrl":"https://github.com/oven-sh/bun/blob/8c5296ac459e8252d3cd702f3fbcbb0c249d95d5/scripts/runner.node.mjs#L2415-L2451","documentation":"Error \"Vendor '${name}' does not have a test directory: ${testParentPath}\" thrown in oven-sh/bun.","triggerScenarios":"Thrown at scripts/runner.node.mjs:2433 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8c5296ac459e8252d3cd702f3fbcbb0c249d95d5","analyzedAt":"2026-08-16T08:01:58.794Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}