This is an example of using path names in a threaded application.
#include "unity.h"
#include "unity_fixture.h"
#include "ofc/config.h"
#include "ofc/libc.h"
#if defined(INIT_ON_LOAD)
#else
#endif
return (0);
}
#if !defined(INIT_ON_LOAD)
#endif
}
TEST_GROUP(path);
TEST_SETUP(path) {
TEST_ASSERT_FALSE_MESSAGE(test_startup(), "Failed to Startup Framework");
}
TEST_TEAR_DOWN(path) {
test_shutdown();
}
TEST(path, test_path) {
rem = 20;
trem = rem;
tcursor = tfilename;
TSTR(
"dir1\\dir2\\dir3"),
ofc_printf("Truncated Path is %S\n", tfilename);
rem = len;
trem = rem;
tcursor = tfilename;
TSTR(
"dir1\\dir2\\dir3"),
ofc_printf("Expanded Path is %S\n", tfilename);
rem = 20;
trem = rem;
ccursor = cfilename;
"COYOTE",
"ROAD@RUNNER",
"ACME",
"BOOM",
"DESERT",
"dir1\\dir2\\dir3",
"PAIN");
cfilename[rem] = '\0';
ofc_printf("Truncated Path is %s\n", cfilename);
rem = len;
trem = rem;
ccursor = cfilename;
"COYOTE",
"ROAD@RUNNER",
"ACME",
"BOOM",
"DESERT",
"dir1\\dir2\\dir3",
"PAIN");
cfilename[rem] = '\0';
ofc_printf("Expanded Path is %s\n", cfilename);
}
TEST(path, test_path_insert)
{
ofc_path_promote_dirs(file_path, 2);
for (
OFC_UINT ix = 0 ; ix < ofc_path_num_dirs(prefix) ; ix++)
{
ofc_path_insert_dir (file_path, ix,
ofc_path_dir(prefix, ix));
}
if (ofc_tstrcmp (filename,
TSTR(
"/server2/share2/dir12/dir1/dir2/dir3")) == 0)
ofc_printf("insert path worked\n");
else
ofc_printf("insert path failed\n");
}
TEST_GROUP_RUNNER(path) {
RUN_TEST_CASE(path, test_path);
RUN_TEST_CASE(path, test_path_insert);
}
#if !defined(NO_MAIN)
static void runAllTests(void)
{
RUN_TEST_GROUP(path);
}
int main(int argc, const char *argv[])
{
return UnityMain(argc, argv, runAllTests);
}
#endif
OFC_CORE_LIB OFC_VOID ofc_free(OFC_LPVOID mem)
OFC_CORE_LIB OFC_LPVOID ofc_malloc(OFC_SIZET size)
OFC_CORE_LIB OFC_VOID ofc_framework_destroy(OFC_VOID)
OFC_CORE_LIB OFC_VOID ofc_framework_shutdown(OFC_VOID)
OFC_CORE_LIB OFC_VOID ofc_framework_init(OFC_VOID)
OFC_CORE_LIB OFC_SIZET ofc_path_make_urlA(OFC_LPSTR *filename, OFC_SIZET *rem, OFC_LPCSTR username, OFC_LPCSTR password, OFC_LPCSTR domain, OFC_LPCSTR server, OFC_LPCSTR share, OFC_LPCSTR path, OFC_LPCSTR file)
OFC_CORE_LIB OFC_SIZET ofc_path_make_urlW(OFC_LPTSTR *filename, OFC_SIZET *rem, OFC_LPCTSTR username, OFC_LPCTSTR password, OFC_LPCTSTR domain, OFC_LPCTSTR server, OFC_LPCTSTR share, OFC_LPCTSTR path, OFC_LPCTSTR file)
OFC_CORE_LIB OFC_PATH * ofc_path_createW(OFC_LPCTSTR lpFileName)
OFC_CORE_LIB OFC_VOID ofc_path_delete(OFC_PATH *path)
OFC_VOID OFC_PATH
Definition: path.h:122
OFC_CORE_LIB OFC_TCHAR * ofc_path_print_alloc(OFC_PATH *path)
void OFC_VOID
Definition: types.h:159
OFC_CHAR * OFC_LPSTR
Definition: types.h:418
#define TCHAR_EOS
Definition: types.h:523
unsigned int OFC_UINT
Definition: types.h:123
OFC_TCHAR * OFC_LPTSTR
Definition: types.h:490
OFC_WCHAR OFC_TCHAR
Definition: types.h:463
char OFC_CHAR
Definition: types.h:143
#define TSTR(x)
Definition: types.h:534
int OFC_INT
Definition: types.h:119
long int OFC_SIZET
Definition: types.h:115