Blame tests/clar/fixtures.h
|
Packit Service |
20376f |
static const char *
|
|
Packit Service |
20376f |
fixture_path(const char *base, const char *fixture_name)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
static char _path[4096];
|
|
Packit Service |
20376f |
size_t root_len;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
root_len = strlen(base);
|
|
Packit Service |
20376f |
strncpy(_path, base, sizeof(_path));
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
if (_path[root_len - 1] != '/')
|
|
Packit Service |
20376f |
_path[root_len++] = '/';
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
if (fixture_name[0] == '/')
|
|
Packit Service |
20376f |
fixture_name++;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
strncpy(_path + root_len,
|
|
Packit Service |
20376f |
fixture_name,
|
|
Packit Service |
20376f |
sizeof(_path) - root_len);
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
return _path;
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
static const char *
|
|
Packit Service |
20376f |
fixture_basename(const char *fixture_name)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
const char *p;
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
for (p = fixture_name; *p; p++) {
|
|
Packit Service |
20376f |
if (p[0] == '/' && p[1] && p[1] != '/')
|
|
Packit Service |
20376f |
fixture_name = p+1;
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
return fixture_name;
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
#ifdef CLAR_FIXTURE_PATH
|
|
Packit Service |
20376f |
const char *cl_fixture(const char *fixture_name)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
return fixture_path(CLAR_FIXTURE_PATH, fixture_name);
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
void cl_fixture_sandbox(const char *fixture_name)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
fs_copy(cl_fixture(fixture_name), _clar_path);
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
|
|
Packit Service |
20376f |
void cl_fixture_cleanup(const char *fixture_name)
|
|
Packit Service |
20376f |
{
|
|
Packit Service |
20376f |
fs_rm(fixture_path(_clar_path, fixture_basename(fixture_name)));
|
|
Packit Service |
20376f |
}
|
|
Packit Service |
20376f |
#endif
|