Haiku works
This commit is contained in:
parent
47034fe588
commit
f156824ebc
|
@ -621,7 +621,12 @@
|
||||||
id: "haiku",
|
id: "haiku",
|
||||||
memory_size: 512 * 1024 * 1024,
|
memory_size: 512 * 1024 * 1024,
|
||||||
hda: {
|
hda: {
|
||||||
url: "images/experimental/os/haiku-r1beta1-x86_gcc2_hybrid-anyboot.iso",
|
// doesn't work (probably SSE):
|
||||||
|
//url: HOST + "images/experimental/haiku-master-hrev54088-2020-04-28-x86_gcc2h-anyboot.iso",
|
||||||
|
// works:
|
||||||
|
url: HOST + "images/experimental/haiku-master-hrev53609-x86_gcc2h-anyboot.iso",
|
||||||
|
// works:
|
||||||
|
//url: HOST + "images/experimental/os/haiku-r1beta1-x86_gcc2_hybrid-anyboot.iso",
|
||||||
async: true,
|
async: true,
|
||||||
},
|
},
|
||||||
name: "Haiku",
|
name: "Haiku",
|
||||||
|
|
|
@ -347,11 +347,27 @@ if(cluster.isMaster)
|
||||||
{
|
{
|
||||||
name: "Haiku",
|
name: "Haiku",
|
||||||
skip_if_disk_image_missing: true,
|
skip_if_disk_image_missing: true,
|
||||||
timeout: 60 * 15,
|
timeout: 15 * 60,
|
||||||
hda: root_path + "/images/experimental/os/haiku-nightly-anyboot.image",
|
memory_size: 512 * 1024 * 1024,
|
||||||
expected_serial_text: ["cx23882: init_hardware()"],
|
hda: root_path + "/images/experimental/haiku-master-hrev53609-x86_gcc2h-anyboot.iso",
|
||||||
|
expected_serial_text: [
|
||||||
|
"cx23882: init_hardware()",
|
||||||
|
"Running post install script /boot/system/boot/post-install/sshd_keymaker.sh",
|
||||||
|
// After pressing enter in the boot dialog:
|
||||||
|
"Running first login script /boot/system/boot/first-login/default_deskbar_items.sh",
|
||||||
|
],
|
||||||
expect_graphical_mode: true,
|
expect_graphical_mode: true,
|
||||||
expect_mouse_registered: true,
|
expect_mouse_registered: true,
|
||||||
|
actions: [
|
||||||
|
{ after: 1 * 60 * 1000, run: "\n" },
|
||||||
|
{ after: 2 * 60 * 1000, run: "\n" },
|
||||||
|
{ after: 3 * 60 * 1000, run: "\n" },
|
||||||
|
{ after: 4 * 60 * 1000, run: "\n" },
|
||||||
|
{ after: 5 * 60 * 1000, run: "\n" },
|
||||||
|
{ after: 6 * 60 * 1000, run: "\n" },
|
||||||
|
{ after: 7 * 60 * 1000, run: "\n" },
|
||||||
|
{ after: 8 * 60 * 1000, run: "\n" },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "HelenOS",
|
name: "HelenOS",
|
||||||
|
@ -548,7 +564,7 @@ function run_test(test, done)
|
||||||
bios: { url: bios },
|
bios: { url: bios },
|
||||||
vga_bios: { url: vga_bios },
|
vga_bios: { url: vga_bios },
|
||||||
autostart: true,
|
autostart: true,
|
||||||
memory_size: 128 * 1024 * 1024,
|
memory_size: test.memory_size || 128 * 1024 * 1024,
|
||||||
log_level: 0,
|
log_level: 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -619,6 +635,7 @@ function run_test(test, done)
|
||||||
|
|
||||||
var timeout_seconds = test.timeout * TIMEOUT_EXTRA_FACTOR;
|
var timeout_seconds = test.timeout * TIMEOUT_EXTRA_FACTOR;
|
||||||
var timeout = setTimeout(check_test_done, (timeout_seconds + 1) * 1000);
|
var timeout = setTimeout(check_test_done, (timeout_seconds + 1) * 1000);
|
||||||
|
var timeouts = [timeout];
|
||||||
|
|
||||||
var on_text = [];
|
var on_text = [];
|
||||||
var stopped = false;
|
var stopped = false;
|
||||||
|
@ -637,7 +654,7 @@ function run_test(test, done)
|
||||||
{
|
{
|
||||||
var end = Date.now();
|
var end = Date.now();
|
||||||
|
|
||||||
clearTimeout(timeout);
|
for(let timeout of timeouts) clearTimeout(timeout);
|
||||||
stopped = true;
|
stopped = true;
|
||||||
|
|
||||||
emulator.stop();
|
emulator.stop();
|
||||||
|
@ -649,7 +666,7 @@ function run_test(test, done)
|
||||||
}
|
}
|
||||||
else if(Date.now() >= test_start + timeout_seconds * 1000)
|
else if(Date.now() >= test_start + timeout_seconds * 1000)
|
||||||
{
|
{
|
||||||
clearTimeout(timeout);
|
for(let timeout of timeouts) clearTimeout(timeout);
|
||||||
stopped = true;
|
stopped = true;
|
||||||
|
|
||||||
emulator.stop();
|
emulator.stop();
|
||||||
|
@ -732,10 +749,12 @@ function run_test(test, done)
|
||||||
{
|
{
|
||||||
var action = on_text.shift();
|
var action = on_text.shift();
|
||||||
|
|
||||||
setTimeout(() => {
|
timeouts.push(
|
||||||
if(VERBOSE) console.error("Sending '%s'", action.run);
|
setTimeout(() => {
|
||||||
emulator.keyboard_send_text(action.run);
|
if(VERBOSE) console.error("Sending '%s'", action.run);
|
||||||
}, action.after || 0);
|
emulator.keyboard_send_text(action.run);
|
||||||
|
}, action.after || 0)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -780,7 +799,16 @@ function run_test(test, done)
|
||||||
{
|
{
|
||||||
if(action.on_text)
|
if(action.on_text)
|
||||||
{
|
{
|
||||||
on_text.push({ text: string_to_bytearray(action.on_text), run: action.run, after: action.after, });
|
on_text.push({ text: string_to_bytearray(action.on_text), run: action.run, after: action.after });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
timeouts.push(
|
||||||
|
setTimeout(() => {
|
||||||
|
if(VERBOSE) console.error("Sending '%s'", action.run);
|
||||||
|
emulator.keyboard_send_text(action.run);
|
||||||
|
}, action.after || 0)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue