25 lines
1.4 KiB
C
25 lines
1.4 KiB
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
|
|
#define ASSERT(expr) \
|
|
do { \
|
|
if (!(expr)) { \
|
|
printf("ASSERTION FAILED: %s at %s:%d\n", #expr, __FILE__, \
|
|
__LINE__); \
|
|
while (1); \
|
|
} \
|
|
} while (0)
|
|
|
|
#define ASSERT_EQ(expr, expected) \
|
|
do { \
|
|
uint64_t result = (expr); \
|
|
if (result != (expected)) { \
|
|
printf("ASSERTION FAILED: %s at %s:%d\n", #expr, __FILE__, \
|
|
__LINE__); \
|
|
printf("Expected: %lu, Got: %lu\n", (unsigned long)(expected), \
|
|
(unsigned long)result); \
|
|
while (1); \
|
|
} \
|
|
} while (0)
|