"rpi",
}
vars.plats_with_tests = {
+ "linuxppc",
"qemuppc",
"pc86",
}
{
char* old;
char* new;
- char* actual;
if (!current)
current = (char*) _syscall(__NR_brk, 0, 0, 0);
return current;
old = current;
+
new = old + increment;
- actual = (char*) _syscall(__NR_brk, (quad) new, 0, 0);
- if (actual < new)
- {
- errno = ENOMEM;
- return OUT_OF_MEMORY;
- }
+ if ((increment > 0) && (new <= old))
+ goto out_of_memory;
+ else if ((increment < 0) && (new >= old))
+ goto out_of_memory;
+
+ if (brk(new) < 0)
+ goto out_of_memory;
- current = actual;
return old;
+
+out_of_memory:
+ errno = ENOMEM;
+ return OUT_OF_MEMORY;
}
+
--- /dev/null
+include("tests/plat/build.lua")
+
+plat_testsuite {
+ name = "tests",
+ plat = "linuxppc",
+ method = "qemu-ppc"
+}
char* o;
char* p;
- errno = 0;
- ASSERT(-1 == brk((void*)-1));
- ASSERT(ENOMEM == errno);
-
p = sbrk(0);
ASSERT(p == sbrk(0));
ASSERT(p == sbrk(8));
{
static const char s[] = "@@FINISHED\n";
write(1, s, sizeof(s));
+ _exit(0);
}
void writehex(uint32_t code)
| ( read dummy && kill $(cat $pidfile) )
;;
+
+ qemu-*)
+ if ! hash $method 2>/dev/null; then
+ echo "Warning: $method not installed, skipping test"
+ exit 0
+ fi
+
+ $method $img > $result
+ ;;
+
+ *)
+ echo "Error: $method not known by testdriver"
+ exit 1
+ ;;
esac
( grep -q @@FAIL $result || ! grep -q @@FINISHED $result ) && cat $result && exit 1