diff --git a/quad/scripts/tests/test_safety_checks.rb b/quad/scripts/tests/test_safety_checks.rb
index f2f35d30d22d4eaf2a6d8eb3cafbb0d6d244945f..f13efe4a07fdb1a83a2955e74d672628643a09d9 100644
--- a/quad/scripts/tests/test_safety_checks.rb
+++ b/quad/scripts/tests/test_safety_checks.rb
@@ -90,7 +90,7 @@ Timeout::timeout(30) {
   sleep 1
 
   # Start virtual quad
-  quad_pid = Process.spawn("./virt-quad")
+  quad_pid = Process.spawn("./virt-quad", :rlimit_as => 536870912) # 512 MiB RAM
 
   sleep 5
 
diff --git a/quad/scripts/tests/test_unix_uart.rb b/quad/scripts/tests/test_unix_uart.rb
index 6b5d1469326581787b1278c5c0ac9748e74f2195..f8f4054e87f146ef3574f047dd7efe0c1e760bc7 100644
--- a/quad/scripts/tests/test_unix_uart.rb
+++ b/quad/scripts/tests/test_unix_uart.rb
@@ -29,7 +29,7 @@ Timeout::timeout(30) {
   sleep 1
 
   # Start virtual quad
-  quad_pid = Process.spawn("./virt-quad")
+  quad_pid = Process.spawn("./virt-quad", :rlimit_as => 536870912) # 512 MiB RAM
 
   sleep 5
 
@@ -50,11 +50,15 @@ Timeout::timeout(30) {
       File.write(UART_RX, [0xBE, 1, 0, 0, 0, 0, 0, 0xBF].pack("CCCCCCCC"))
 
       fifo = File.open(UART_TX)
+
+      # Receive the header
       msg = []
       for i in 1..7
         sleep 0.010
         msg.push(fifo.read(1))
       end
+
+      # Receive the remaining data, according to the header specified length
       length = msg[5..7].join().unpack("S")[0]
       msg = []
       for i in 1..length