diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2019-05-21 14:24:26 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-05-21 14:24:26 +0100 |
commit | 62516a0a18cd156d913dd625baca52c46743223b (patch) | |
tree | 443d8dceaba12284e3d1d43259664bc5f0c0efcb /tests/hd-geo-test.c | |
parent | 293c76cb48332d2bbd70bd975dc60ee3650b3170 (diff) | |
parent | b3763a195cc167152df1f762b3c3a73f7db7677b (diff) | |
download | qemu-62516a0a18cd156d913dd625baca52c46743223b.zip qemu-62516a0a18cd156d913dd625baca52c46743223b.tar.gz qemu-62516a0a18cd156d913dd625baca52c46743223b.tar.bz2 |
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2019-05-21' into staging
- qtest patches to get rid of the global_qtest variable in more tests
- some iotests patches that have multiple reviews and thus are ready to go
# gpg: Signature made Tue 21 May 2019 11:40:31 BST
# gpg: using RSA key 2ED9D774FE702DB5
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg: aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5
* remotes/huth-gitlab/tags/pull-request-2019-05-21:
tests/qemu-iotests: Remove the "_supported_os Linux" line from many tests
cirrus / travis: Add gnu-sed and bash for macOS and FreeBSD
tests/qemu-iotests: Do not hard-code the path to bash
tests/qemu-iotests/check: Pick a default machine if necessary
tests/qemu-iotests/005: Add a sanity check for large sparse file support
tests/hd-geo-test: Use qtest_init() instead of qtest_start()
tests/device-introspect: Use qtest_init() instead of qtest_start()
tests/qom-test: Use qtest_init() instead of qtest_start()
tests/numa-test: Use qtest_init() instead of qtest_start()
tests/q35-test: Make test independent of global_qtest
tests/libqos: Get rid of global_qtest dependency in qvring_init()
tests/libqtest: Fix description of qtest_vinitf() and qtest_initf()
tests/libqtest: Remove unused global_qtest-related wrapper functions
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/hd-geo-test.c')
-rw-r--r-- | tests/hd-geo-test.c | 76 |
1 files changed, 41 insertions, 35 deletions
diff --git a/tests/hd-geo-test.c b/tests/hd-geo-test.c index ce665f1..62eb624 100644 --- a/tests/hd-geo-test.c +++ b/tests/hd-geo-test.c @@ -77,33 +77,35 @@ static bool is_hd(const CHST *expected_chst) return expected_chst && expected_chst->cyls; } -static void test_cmos_byte(int reg, int expected) +static void test_cmos_byte(QTestState *qts, int reg, int expected) { enum { cmos_base = 0x70 }; int actual; - outb(cmos_base + 0, reg); - actual = inb(cmos_base + 1); + qtest_outb(qts, cmos_base + 0, reg); + actual = qtest_inb(qts, cmos_base + 1); g_assert(actual == expected); } -static void test_cmos_bytes(int reg0, int n, uint8_t expected[]) +static void test_cmos_bytes(QTestState *qts, int reg0, int n, + uint8_t expected[]) { int i; for (i = 0; i < 9; i++) { - test_cmos_byte(reg0 + i, expected[i]); + test_cmos_byte(qts, reg0 + i, expected[i]); } } -static void test_cmos_disk_data(void) +static void test_cmos_disk_data(QTestState *qts) { - test_cmos_byte(0x12, + test_cmos_byte(qts, 0x12, (is_hd(cur_ide[0]) ? 0xf0 : 0) | (is_hd(cur_ide[1]) ? 0x0f : 0)); } -static void test_cmos_drive_cyl(int reg0, const CHST *expected_chst) +static void test_cmos_drive_cyl(QTestState *qts, int reg0, + const CHST *expected_chst) { if (is_hd(expected_chst)) { int c = expected_chst->cyls; @@ -113,29 +115,29 @@ static void test_cmos_drive_cyl(int reg0, const CHST *expected_chst) c & 0xff, c >> 8, h, 0xff, 0xff, 0xc0 | ((h > 8) << 3), c & 0xff, c >> 8, s }; - test_cmos_bytes(reg0, 9, expected_bytes); + test_cmos_bytes(qts, reg0, 9, expected_bytes); } else { int i; for (i = 0; i < 9; i++) { - test_cmos_byte(reg0 + i, 0); + test_cmos_byte(qts, reg0 + i, 0); } } } -static void test_cmos_drive1(void) +static void test_cmos_drive1(QTestState *qts) { - test_cmos_byte(0x19, is_hd(cur_ide[0]) ? 47 : 0); - test_cmos_drive_cyl(0x1b, cur_ide[0]); + test_cmos_byte(qts, 0x19, is_hd(cur_ide[0]) ? 47 : 0); + test_cmos_drive_cyl(qts, 0x1b, cur_ide[0]); } -static void test_cmos_drive2(void) +static void test_cmos_drive2(QTestState *qts) { - test_cmos_byte(0x1a, is_hd(cur_ide[1]) ? 47 : 0); - test_cmos_drive_cyl(0x24, cur_ide[1]); + test_cmos_byte(qts, 0x1a, is_hd(cur_ide[1]) ? 47 : 0); + test_cmos_drive_cyl(qts, 0x24, cur_ide[1]); } -static void test_cmos_disktransflag(void) +static void test_cmos_disktransflag(QTestState *qts) { int val, i; @@ -145,15 +147,15 @@ static void test_cmos_disktransflag(void) val |= cur_ide[i]->trans << (2 * i); } } - test_cmos_byte(0x39, val); + test_cmos_byte(qts, 0x39, val); } -static void test_cmos(void) +static void test_cmos(QTestState *qts) { - test_cmos_disk_data(); - test_cmos_drive1(); - test_cmos_drive2(); - test_cmos_disktransflag(); + test_cmos_disk_data(qts); + test_cmos_drive1(qts); + test_cmos_drive2(qts); + test_cmos_disktransflag(qts); } static int append_arg(int argc, char *argv[], int argv_sz, char *arg) @@ -238,14 +240,15 @@ static void test_ide_none(void) { char **argv = g_new0(char *, ARGV_SIZE); char *args; + QTestState *qts; setup_common(argv, ARGV_SIZE); args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } static void test_ide_mbr(bool use_device, MBRcontents mbr) @@ -255,6 +258,7 @@ static void test_ide_mbr(bool use_device, MBRcontents mbr) int argc; Backend i; const char *dev; + QTestState *qts; argc = setup_common(argv, ARGV_SIZE); for (i = 0; i < backend_last; i++) { @@ -263,11 +267,11 @@ static void test_ide_mbr(bool use_device, MBRcontents mbr) argc = setup_ide(argc, argv, ARGV_SIZE, i, dev, i, mbr); } args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } /* @@ -325,6 +329,7 @@ static void test_ide_drive_user(const char *dev, bool trans) int argc; int secs = img_secs[backend_small]; const CHST expected_chst = { secs / (4 * 32) , 4, 32, trans }; + QTestState *qts; argc = setup_common(argv, ARGV_SIZE); opts = g_strdup_printf("%s,%scyls=%d,heads=%d,secs=%d", @@ -335,11 +340,11 @@ static void test_ide_drive_user(const char *dev, bool trans) argc = setup_ide(argc, argv, ARGV_SIZE, 0, opts, backend_small, mbr_chs); g_free(opts); args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } /* @@ -367,6 +372,7 @@ static void test_ide_drive_cd_0(void) char *args; int argc, ide_idx; Backend i; + QTestState *qts; argc = setup_common(argv, ARGV_SIZE); for (i = 0; i <= backend_empty; i++) { @@ -375,11 +381,11 @@ static void test_ide_drive_cd_0(void) argc = setup_ide(argc, argv, ARGV_SIZE, ide_idx, NULL, i, mbr_blank); } args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } int main(int argc, char **argv) |