diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-21 21:56:36 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-21 21:56:36 +0200 |
| commit | 311b827599251d8d68526293815e8d4dcba632c8 (patch) | |
| tree | 589d01f5653f966c3b2cc786911b8cc02a3237c9 /internal/generate/classify_test.go | |
| parent | 36f216c757eea7db82cf04aeae592956199b9f76 (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.go | 29 |
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)) |
