Harbor

branch main
showing the latest snapshot on main
test_alloc.odin 1.2 KB · Plain text
examples/test_alloc.odin 0644 Raw
package test_alloc

import "core:fmt"
import win "../window"

main :: proc() {
    // Set up tracking allocator
    tracking: win.Tracking_Allocator
    win.tracking_allocator_init(&tracking, context.allocator)
    tracked := win.tracking_allocator_make(&tracking)

    fmt.println("Testing allocation tracking...")

    // Create and destroy event loop + window
    loop, err := win.create_event_loop(tracked)
    if err != .None {
        fmt.eprintln("Failed to create event loop:", err)
        win.tracking_allocator_print_stats(&tracking)
        return
    }

    window, win_err := win.create_window(loop, {
        title     = "Allocation Test",
        size      = {800, 600},
        resizable = true,
        visible   = true,
        decorated = true,
    })
    if win_err != .None {
        fmt.eprintln("Failed to create window:", win_err)
        win.destroy_event_loop(loop)
        win.tracking_allocator_print_stats(&tracking)
        return
    }

    fmt.println("Window created successfully")
    fmt.println("Destroying window and event loop...")

    // Clean up
    win.destroy_event_loop(loop)

    // Print allocation statistics
    win.tracking_allocator_print_stats(&tracking)
    win.tracking_allocator_destroy(&tracking)
}