[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/6] tests/hd-geo-test: Skip test when images can not be crea
From: |
Alex Bennée |
Subject: |
Re: [PATCH 3/6] tests/hd-geo-test: Skip test when images can not be created |
Date: |
Fri, 22 Nov 2019 16:28:33 +0000 |
User-agent: |
mu4e 1.3.5; emacs 27.0.50 |
Thomas Huth <address@hidden> writes:
> In certain environments like restricted containers, we can not create
> huge test images. To be able to use "make check" in such container
> environments, too, let's skip the hd-geo-test instead of failing when
> the test images could not be created.
>
> Signed-off-by: Thomas Huth <address@hidden>
> ---
> tests/hd-geo-test.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/tests/hd-geo-test.c b/tests/hd-geo-test.c
> index 7e86c5416c..a249800544 100644
> --- a/tests/hd-geo-test.c
> +++ b/tests/hd-geo-test.c
> @@ -34,8 +34,13 @@ static char *create_test_img(int secs)
> fd = mkstemp(template);
> g_assert(fd >= 0);
> ret = ftruncate(fd, (off_t)secs * 512);
> - g_assert(ret == 0);
> close(fd);
> +
> + if (ret) {
> + free(template);
> + template = NULL;
> + }
> +
> return template;
> }
>
> @@ -934,6 +939,10 @@ int main(int argc, char **argv)
> for (i = 0; i < backend_last; i++) {
> if (img_secs[i] >= 0) {
> img_file_name[i] = create_test_img(img_secs[i]);
> + if (!img_file_name[i]) {
> + g_test_message("Could not create test images.");
> + goto test_add_done;
> + }
> } else {
> img_file_name[i] = NULL;
> }
> @@ -965,6 +974,7 @@ int main(int argc, char **argv)
> "skipping hd-geo/override/* tests");
> }
>
> +test_add_done:
> ret = g_test_run();
It does seem a bit odd to call g_test_run if we have explicitly not set
any up. Personally I'd hoist all the test creation into a new function
so you could do:
if (setup_images()) {
setup_tests();
ret = run_tests();
} else {
ret = 0; /* pass if we have no images */
}
cleanup_images();
but that's just me going above and beyond to avoid goto's ;-)
Reviewed-by: Alex Bennée <address@hidden>
>
> for (i = 0; i < backend_last; i++) {
--
Alex Bennée
- Re: [PATCH 1/6] iotests: Skip test 060 if it is not possible to create large files, (continued)
Re: [PATCH 2/6] iotests: Skip test 079 if it is not possible to create large files, Alex Bennée, 2019/11/22
[PATCH 3/6] tests/hd-geo-test: Skip test when images can not be created, Thomas Huth, 2019/11/19
[PATCH 4/6] tests/test-util-filemonitor: Skip test on non-x86 Travis containers, Thomas Huth, 2019/11/19
[PATCH 5/6] travis.yml: drop 32 bit systems from MAIN_SOFTMMU_TARGETS, Thomas Huth, 2019/11/19
[PATCH 6/6] travis.yml: Enable builds on arm64, ppc64le and s390x, Thomas Huth, 2019/11/19
Re: [PATCH 0/6] Enable Travis builds on arm64, ppc64le and s390x, Alex Bennée, 2019/11/22