Esempio n. 1
0
static int mkdirs_test(struct redfish_client *cli)
{
	/* Very simple case-- only creating one directory in the root */
	ST_EXPECT_ZERO(redfish_mkdirs(cli, 0644, "/solo"));
	ST_EXPECT_EQ(stest_stat(cli, "/solo"), STEST_STAT_RES_DIR);
	stest_set_status(20);
	/* Create a lot of nested directories */
	ST_EXPECT_ZERO(redfish_mkdirs(cli, 0644, "/a/b/c/d/e"));
	ST_EXPECT_EQ(stest_stat(cli, "/a/b/c/d/e"), STEST_STAT_RES_DIR);
	ST_EXPECT_EQ(stest_stat(cli, "/a/b/c/d"), STEST_STAT_RES_DIR);
	ST_EXPECT_EQ(stest_stat(cli, "/a/b/c"), STEST_STAT_RES_DIR);
	ST_EXPECT_EQ(stest_stat(cli, "/a/b"), STEST_STAT_RES_DIR);
	ST_EXPECT_EQ(stest_stat(cli, "/a"), STEST_STAT_RES_DIR);
	stest_set_status(50);
	/** We should be able to create directories when some of the path
	 * components already exist. */ 
	ST_EXPECT_ZERO(redfish_mkdirs(cli, 0644, "/a/b/foo/bar"));
	ST_EXPECT_EQ(stest_stat(cli, "/a/b/foo/bar"), STEST_STAT_RES_DIR);
	ST_EXPECT_EQ(stest_stat(cli, "/a/b/foo"), STEST_STAT_RES_DIR);
	stest_set_status(70);
	/** There is no error if all of the directories already exist */
	ST_EXPECT_ZERO(redfish_mkdirs(cli, 0644, "/"));
	ST_EXPECT_ZERO(redfish_mkdirs(cli, 0644, "/a"));
	stest_set_status(100);

	return 0;
}
Esempio n. 2
0
int main()
{
    enum { bits = CHAR_BIT*sizeof(void*) };

    fprintf(stderr, "\n** C Object System Speed Testsuite (C++, %d bits) **\n", bits);
    st_methods();
    st_multimethods();
    st_memory();

    stest_stat();

    return EXIT_SUCCESS;
}