annotate tests/test-vfs-directory.c @ 349:99d9b6a7e3db

port: implement a mort temporary friendly fmemopen function
author David Demelier <markand@malikania.fr>
date Wed, 20 Oct 2021 13:55:41 +0200
parents 1d3e6108cb99
children 460c78706989
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
334
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * test-vfs-directory.c -- test VFS directory
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020-2021 David Demelier <markand@malikania.fr>
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <rexo.h>
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #include <core/vfs-directory.h>
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #include <core/vfs.h>
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 RX_SET_UP(setup)
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 {
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 vfs_directory(RX_DATA, DIRECTORY "/vfs/directory");
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 return RX_SUCCESS;
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 }
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 RX_TEAR_DOWN(teardown)
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 {
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 vfs_finish(RX_DATA);
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 }
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 RX_FIXTURE(basics_fixture, struct vfs, .set_up = setup, .tear_down = teardown);
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 RX_TEST_CASE(basics, read, .fixture = basics_fixture)
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 {
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 struct vfs_file file;
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 char data[256] = {0};
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 RX_INT_REQUIRE_EQUAL(vfs_open(RX_DATA, &file, "hello.txt", "r"), 0);
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 RX_UINT_REQUIRE_EQUAL(vfs_file_read(&file, data, sizeof (data)), 13U);
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 RX_STR_REQUIRE_EQUAL(data, "Hello World!\n");
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 }
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 RX_TEST_CASE(basics, notfound, .fixture = basics_fixture)
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 {
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 struct vfs_file file;
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 RX_INT_REQUIRE_EQUAL(vfs_open(RX_DATA, &file, "notfound.txt", "r"), -1);
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 }
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 int
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 main(int argc, char **argv)
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 {
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 return rx_main(0, NULL, argc, (const char **)argv) == RX_SUCCESS ? 0 : 1;
1d3e6108cb99 tests: add vfs-directory test
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 }