[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 09/11] tests/9pfs: wipe local 9pfs test directory
From: |
Christian Schoenebeck |
Subject: |
Re: [PATCH v3 09/11] tests/9pfs: wipe local 9pfs test directory |
Date: |
Thu, 08 Oct 2020 14:26:28 +0200 |
On Freitag, 2. Oktober 2020 18:15:05 CEST Christian Schoenebeck wrote:
> Before running the first 9pfs test case, make sure the test directory
> for running the 9pfs 'local' tests on is entirely empty. For that
> reason simply delete the test directory (if any) before (re)creating
> it on test suite startup.
>
> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
> ---
> tests/qtest/libqos/virtio-9p.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/tests/qtest/libqos/virtio-9p.c b/tests/qtest/libqos/virtio-9p.c
> index 1bada47af1..41a7c2baaa 100644
> --- a/tests/qtest/libqos/virtio-9p.c
> +++ b/tests/qtest/libqos/virtio-9p.c
> @@ -53,6 +53,18 @@ static void create_local_test_dir(void)
> g_assert((st.st_mode & S_IFMT) == S_IFDIR);
> }
>
> +/* Deletes directory previously created by create_local_test_dir(). */
> +static void remove_local_test_dir(void)
> +{
> + g_assert(local_test_path != NULL);
> + char *cmd = g_strdup_printf("rm -r '%s'\n", local_test_path);
> + int res = system(cmd);
> + if (res < 0) {
> + /* ignore error, dummy check to prevent compiler error */
> + }
> + g_free(cmd);
> +}
> +
> static void virtio_9p_cleanup(QVirtio9P *interface)
> {
> qvirtqueue_cleanup(interface->vdev->bus, interface->vq, alloc);
> @@ -220,6 +232,7 @@ static void virtio_9p_register_nodes(void)
>
> /* make sure test dir for the 'local' tests exists and is clean */
> init_local_test_path();
> + remove_local_test_dir();
> create_local_test_dir();
>
> QPCIAddress addr = {
> .devfn = QPCI_DEVFN(4, 0),
> };
>
> QOSGraphEdgeOptions opts = {
> .before_cmd_line = "-fsdev synth,id=fsdev0",
> };
>
> /* virtio-9p-device */
> opts.extra_device_opts = str_simple,
> qos_node_create_driver("virtio-9p-device", virtio_9p_device_create);
> qos_node_consumes("virtio-9p-device", "virtio-bus", &opts);
> qos_node_produces("virtio-9p-device", "virtio");
> qos_node_produces("virtio-9p-device", "virtio-9p");
>
> /* virtio-9p-pci */
> opts.extra_device_opts = str_addr;
> add_qpci_address(&opts, &addr);
> qos_node_create_driver("virtio-9p-pci", virtio_9p_pci_create);
> qos_node_consumes("virtio-9p-pci", "pci-bus", &opts);
> qos_node_produces("virtio-9p-pci", "pci-device");
> qos_node_produces("virtio-9p-pci", "virtio");
> qos_node_produces("virtio-9p-pci", "virtio-9p");
> }
>
> libqos_init(virtio_9p_register_nodes);
I wonder why libqos is calling virtio_9p_register_nodes() again after all
qtests ended.
That's somewhat suboptimal here, as it causes remove_local_test_dir() to be
called again after all qtests completed. My intention was actually only to
wipe the "qtest-9p-local" test directory at the *start* of the test suite run.
Not at the end of the test suite. Because it would allow developers to look at
the actual dirs/files created after the tests completed.
I could of course misuse and add a dedicated "wipedir" test as workaround, but
that OTOH would break the option of running individual tests with the -p CL
switch.
Best regards,
Christian Schoenebeck
- [PATCH v3 00/11] 9pfs: add tests using local fs driver, Christian Schoenebeck, 2020/10/02
- [PATCH v3 06/11] tests/qtest/qos-test: dump QEMU command if verbose, Christian Schoenebeck, 2020/10/02
- [PATCH v3 11/11] tests/9pfs: add local Tmkdir test, Christian Schoenebeck, 2020/10/02
- [PATCH v3 10/11] tests/9pfs: add virtio_9p_test_path(), Christian Schoenebeck, 2020/10/02
- [PATCH v3 09/11] tests/9pfs: wipe local 9pfs test directory, Christian Schoenebeck, 2020/10/02
- Re: [PATCH v3 09/11] tests/9pfs: wipe local 9pfs test directory,
Christian Schoenebeck <=
- [PATCH v3 04/11] tests/qtest/qos-test: dump qos graph if verbose, Christian Schoenebeck, 2020/10/02
- [PATCH v3 07/11] tests/9pfs: change qtest name prefix to synth, Christian Schoenebeck, 2020/10/02
- [PATCH v3 02/11] libqos/qgraph: add qos_node_create_driver_named(), Christian Schoenebeck, 2020/10/02
- [PATCH v3 03/11] libqos/qgraph: add qos_dump_graph(), Christian Schoenebeck, 2020/10/02
- [PATCH v3 05/11] tests/qtest/qos-test: dump environment variables if verbose, Christian Schoenebeck, 2020/10/02