#include "test.h" #include "monitor.h" #include #include "sys.h" #define TEST_KMALLOC(var, sz) monitor_write("kmalloc:"); monitor_writeHex(sz); void *var = kmalloc(sz); \ if (var < 0xE0000000) { monitor_write(":FAIL\t"); PANIC("A test failed."); } \ else monitor_write(":OK:"); monitor_writeHex(var); monitor_write("\t"); #define TEST_KFREE(var) if (var != 0) { monitor_write("kfree:"); monitor_writeHex(var); kfree(var); monitor_write(":OK\t"); } void test_run() { monitor_write("Run kmalloc() and kfree() unit tests:\n"); int i; for (i = 1; i <= 5; i++) { monitor_write("\nMALLOC TEST SERIES #"); monitor_writeDec(i); monitor_write(":\n"); TEST_KMALLOC(a, 32); TEST_KMALLOC(b, 64); TEST_KMALLOC(c, 256); TEST_KMALLOC(d, 512); TEST_KMALLOC(e, 1024); TEST_KMALLOC(f, 4096); TEST_KMALLOC(g, 16384); TEST_KFREE(b); TEST_KFREE(c); TEST_KFREE(d); TEST_KFREE(e); TEST_KFREE(f); TEST_KFREE(g); } monitor_write("\nUnit tests finished.\n"); }