diff options
author | John Snow <jsnow@redhat.com> | 2015-04-28 15:27:51 -0400 |
---|---|---|
committer | John Snow <jsnow@redhat.com> | 2015-04-28 15:27:51 -0400 |
commit | 72c85e949fd162b039614d588d94393ff3e2dae3 (patch) | |
tree | c858b329c3c75849924a3a5ff9ae1de5d0432b44 /tests/libqos | |
parent | ba4ed39346c1bdbfefd1d781b39009f90822b956 (diff) |
libqos: add blkdebug_prepare_script
Pull this helper out of ide-test and into libqos,
to be shared with ahci-test.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 1426018503-821-6-git-send-email-jsnow@redhat.com
Diffstat (limited to 'tests/libqos')
-rw-r--r-- | tests/libqos/libqos.c | 22 | ||||
-rw-r--r-- | tests/libqos/libqos.h | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c index 097091c61e..7e7207856e 100644 --- a/tests/libqos/libqos.c +++ b/tests/libqos/libqos.c @@ -105,3 +105,25 @@ void mkqcow2(const char *file, unsigned size_mb) { return mkimg(file, "qcow2", size_mb); } + +void prepare_blkdebug_script(const char *debug_fn, const char *event) +{ + FILE *debug_file = fopen(debug_fn, "w"); + int ret; + + fprintf(debug_file, "[inject-error]\n"); + fprintf(debug_file, "event = \"%s\"\n", event); + fprintf(debug_file, "errno = \"5\"\n"); + fprintf(debug_file, "state = \"1\"\n"); + fprintf(debug_file, "immediately = \"off\"\n"); + fprintf(debug_file, "once = \"on\"\n"); + + fprintf(debug_file, "[set-state]\n"); + fprintf(debug_file, "event = \"%s\"\n", event); + fprintf(debug_file, "new_state = \"2\"\n"); + fflush(debug_file); + g_assert(!ferror(debug_file)); + + ret = fclose(debug_file); + g_assert(ret == 0); +} diff --git a/tests/libqos/libqos.h b/tests/libqos/libqos.h index 8cb298729d..f57362b688 100644 --- a/tests/libqos/libqos.h +++ b/tests/libqos/libqos.h @@ -21,6 +21,7 @@ QOSState *qtest_boot(QOSOps *ops, const char *cmdline_fmt, ...); void qtest_shutdown(QOSState *qs); void mkimg(const char *file, const char *fmt, unsigned size_mb); void mkqcow2(const char *file, unsigned size_mb); +void prepare_blkdebug_script(const char *debug_fn, const char *event); static inline uint64_t qmalloc(QOSState *q, size_t bytes) { |