summaryrefslogtreecommitdiff
path: root/internal/generate/classify_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-21 21:56:36 +0200
committerPaul Buetow <paul@buetow.org>2026-02-21 21:56:36 +0200
commit311b827599251d8d68526293815e8d4dcba632c8 (patch)
tree589d01f5653f966c3b2cc786911b8cc02a3237c9 /internal/generate/classify_test.go
parent36f216c757eea7db82cf04aeae592956199b9f76 (diff)
Add negative tests for all internal unit tests (task 348)
- internal/types: Fix StringValue panic with no null terminator, add negative tests for serialization, Equals, and StringValue edge cases - internal/file: Add negative tests for empty name, unknown flags, SetFlags/AddFlags, Dup, empty OldnameNewname and Pathname - internal/flamegraph: Add negative tests for StringByName unknown field, Counter.ValueByName panic, merge empty, deserialize invalid data, serialize/deserialize round-trip - internal/generate/format: Add negative tests for empty input, ID errors, malformed fields, empty declarations - internal/generate/typesgo: Add negative tests for snakeToCamel edge cases, unknown types, invalid member/define parsing, no-import case - internal/generate/tracepointsgo: Add negative tests for malformed SEC, no SEC lines - internal/generate/codegen: Add negative tests for unknown event kind, invalid syscall grouping, missing exit tracepoint - internal/generate/classify: Add negative tests for empty external fields, non-fd types Amp-Thread-ID: https://ampcode.com/threads/T-019c81bf-3d5c-7216-b1b6-890db1374414 Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'internal/generate/classify_test.go')
-rw-r--r--internal/generate/classify_test.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/internal/generate/classify_test.go b/internal/generate/classify_test.go
index 950e056..07c6027 100644
--- a/internal/generate/classify_test.go
+++ b/internal/generate/classify_test.go
@@ -341,6 +341,35 @@ func TestClassifySyscallPairIgnored(t *testing.T) {
}
}
+func TestClassifyFormatNoExternalFields(t *testing.T) {
+ f := &Format{
+ Name: "sys_enter_test",
+ ID: 999,
+ ExternalFields: nil,
+ }
+ r := ClassifyFormat(f)
+ if r.Kind != KindNone {
+ t.Errorf("ClassifyFormat with empty ExternalFields: got kind %d, want KindNone", r.Kind)
+ }
+}
+
+func TestIsFdTypeNonMatch(t *testing.T) {
+ nonFdTypes := []string{
+ "const char *",
+ "long",
+ "size_t",
+ "pid_t",
+ "umode_t",
+ "char *",
+ "void *",
+ }
+ for _, typ := range nonFdTypes {
+ if isFdType(typ) {
+ t.Errorf("isFdType(%q) = true, want false", typ)
+ }
+ }
+}
+
func mustParseAll(t *testing.T, data string) []Format {
t.Helper()
formats, err := ParseFormats(strings.NewReader(data))