Integration test: Check serial text
This commit is contained in:
parent
7d48636dda
commit
70e637b31b
|
@ -210,11 +210,13 @@ if(cluster.isMaster)
|
||||||
skip_if_disk_image_missing: true,
|
skip_if_disk_image_missing: true,
|
||||||
cdrom: root_path + "/images/linux4.iso",
|
cdrom: root_path + "/images/linux4.iso",
|
||||||
timeout: 200,
|
timeout: 200,
|
||||||
// TODO: Check serial
|
|
||||||
expected_texts: [
|
expected_texts: [
|
||||||
"~%",
|
"~%",
|
||||||
"Files send via emulator appear in",
|
"Files send via emulator appear in",
|
||||||
],
|
],
|
||||||
|
expected_serial_text: [
|
||||||
|
"Files send via emulator appear in",
|
||||||
|
],
|
||||||
expect_mouse_registered: true,
|
expect_mouse_registered: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -226,6 +228,9 @@ if(cluster.isMaster)
|
||||||
"~%",
|
"~%",
|
||||||
"Files send via emulator appear in",
|
"Files send via emulator appear in",
|
||||||
],
|
],
|
||||||
|
expected_serial_text: [
|
||||||
|
"Files send via emulator appear in",
|
||||||
|
],
|
||||||
expect_mouse_registered: true,
|
expect_mouse_registered: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -241,6 +246,9 @@ if(cluster.isMaster)
|
||||||
"~%",
|
"~%",
|
||||||
"Files send via emulator appear in",
|
"Files send via emulator appear in",
|
||||||
],
|
],
|
||||||
|
expected_serial_text: [
|
||||||
|
"Files send via emulator appear in",
|
||||||
|
],
|
||||||
expect_mouse_registered: true,
|
expect_mouse_registered: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -320,7 +328,6 @@ if(cluster.isMaster)
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
// TODO: Check serial text
|
|
||||||
{
|
{
|
||||||
name: "Haiku",
|
name: "Haiku",
|
||||||
skip_if_disk_image_missing: true,
|
skip_if_disk_image_missing: true,
|
||||||
|
@ -561,6 +568,11 @@ function run_test(test, done)
|
||||||
test.expected_texts = [];
|
test.expected_texts = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!test.expected_serial_text)
|
||||||
|
{
|
||||||
|
test.expected_serial_text = [];
|
||||||
|
}
|
||||||
|
|
||||||
var emulator = new V86(settings);
|
var emulator = new V86(settings);
|
||||||
var screen = new Uint8Array(SCREEN_WIDTH * 25);
|
var screen = new Uint8Array(SCREEN_WIDTH * 25);
|
||||||
|
|
||||||
|
@ -569,6 +581,11 @@ function run_test(test, done)
|
||||||
return test.expected_texts.length === 0;
|
return test.expected_texts.length === 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function check_serial_test_done()
|
||||||
|
{
|
||||||
|
return test.expected_serial_text.length === 0;
|
||||||
|
}
|
||||||
|
|
||||||
var mouse_test_done = false;
|
var mouse_test_done = false;
|
||||||
function check_mouse_test_done()
|
function check_mouse_test_done()
|
||||||
{
|
{
|
||||||
|
@ -579,7 +596,7 @@ function run_test(test, done)
|
||||||
var size_test_done = false;
|
var size_test_done = false;
|
||||||
function check_grapical_test_done()
|
function check_grapical_test_done()
|
||||||
{
|
{
|
||||||
return !test.expect_graphical_mode || (graphical_test_done && (!test.expect_graphical_size || size_test_done));
|
return !test.expect_graphical_mode || (graphical_test_done && (!test.expect_graphical_size || size_test_done));
|
||||||
}
|
}
|
||||||
|
|
||||||
var test_start = Date.now();
|
var test_start = Date.now();
|
||||||
|
@ -597,7 +614,10 @@ function run_test(test, done)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(check_text_test_done() && check_mouse_test_done() && check_grapical_test_done())
|
if(check_text_test_done() &&
|
||||||
|
check_mouse_test_done() &&
|
||||||
|
check_grapical_test_done() &&
|
||||||
|
check_serial_test_done())
|
||||||
{
|
{
|
||||||
var end = Date.now();
|
var end = Date.now();
|
||||||
|
|
||||||
|
@ -703,6 +723,33 @@ function run_test(test, done)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let serial_line = "";
|
||||||
|
emulator.add_listener("serial0-output-char", function(c)
|
||||||
|
{
|
||||||
|
if(c === "\n")
|
||||||
|
{
|
||||||
|
if(VERBOSE)
|
||||||
|
{
|
||||||
|
console.log("Serial:", serial_line);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(test.expected_serial_text.length)
|
||||||
|
{
|
||||||
|
if(serial_line.includes(test.expected_serial_text[0]))
|
||||||
|
{
|
||||||
|
test.expected_serial_text.shift();
|
||||||
|
check_test_done();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
serial_line = "";
|
||||||
|
}
|
||||||
|
else if(c >= " " && c <= "~")
|
||||||
|
{
|
||||||
|
serial_line += c;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
test.actions && test.actions.forEach(function(action)
|
test.actions && test.actions.forEach(function(action)
|
||||||
{
|
{
|
||||||
if(action.on_text)
|
if(action.on_text)
|
||||||
|
|
Loading…
Reference in a new issue