MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / cbm_is_test_file

Function cbm_is_test_file

internal/cbm/helpers.c:292–338  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

290}
291
292bool cbm_is_test_file(const char *rel_path, CBMLanguage lang) {
293 if (!rel_path) {
294 return false;
295 }
296 const char *base = path_basename(rel_path);
297
298 switch (lang) {
299 case CBM_LANG_GO:
300 return has_suffix(base, "_test.go");
301 case CBM_LANG_PYTHON:
302 return has_prefix(base, "test_") || has_suffix(base, "_test.py");
303 case CBM_LANG_JAVASCRIPT:
304 case CBM_LANG_TYPESCRIPT:
305 case CBM_LANG_TSX: {
306 char noext[NOEXT_BUF];
307 strip_ext(base, noext, sizeof(noext));
308 return has_suffix(noext, ".test") || has_suffix(noext, ".spec") ||
309 has_suffix(noext, "_test") || has_suffix(noext, "_spec") ||
310 has_prefix(base, "test_");
311 }
312 case CBM_LANG_JAVA:
313 case CBM_LANG_KOTLIN:
314 case CBM_LANG_SCALA:
315 return has_suffix(base, "Test.java") || has_suffix(base, "Tests.java") ||
316 has_suffix(base, "Spec.java") || has_suffix(base, "Test.kt") ||
317 has_suffix(base, "Spec.kt") || has_suffix(base, "Test.scala") ||
318 has_suffix(base, "Spec.scala");
319 case CBM_LANG_RUST:
320 // Rust tests are typically mod tests inside the file, but test files too
321 return has_suffix(base, "_test.rs") || has_prefix(base, "test_");
322 case CBM_LANG_RUBY:
323 return has_suffix(base, "_test.rb") || has_suffix(base, "_spec.rb") ||
324 has_prefix(base, "test_");
325 case CBM_LANG_PHP:
326 return has_suffix(base, "Test.php");
327 case CBM_LANG_CSHARP:
328 return has_suffix(base, "Tests.cs") || has_suffix(base, "Test.cs");
329 case CBM_LANG_CPP:
330 case CBM_LANG_C:
331 return has_suffix(base, "_test.c") || has_suffix(base, "_test.cc") ||
332 has_suffix(base, "_test.cpp") || has_prefix(base, "test_");
333 case CBM_LANG_MATLAB:
334 return has_prefix(base, "test_") || has_prefix(base, "Test");
335 default:
336 return false;
337 }
338}
339
340// --- AST traversal helpers ---
341

Callers 1

cbm_extract_file_implFunction · 0.85

Calls 4

has_suffixFunction · 0.85
has_prefixFunction · 0.85
path_basenameFunction · 0.70
strip_extFunction · 0.70

Tested by

no test coverage detected