diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a5d27e7bf..c350c6db0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,7 +11,7 @@ link_directories(${monad_native_BINARY_DIR}) set(LIB_SOURCE_FILES impl/getcurrentprocessorid.cpp impl/getusername.cpp impl/terminal.cpp) set(HOST_COMMON_SOURCE_FILES host/common/coreclrutil.cpp) set(HOST_COMMON_TEST_SOURCE_FILES tests/host/test-hostutil.cpp) -set(TEST_SOURCE_FILES tests/test-getcurrentprocessid.cpp ${HOST_COMMON_SOURCE_FILES} ${HOST_COMMON_TEST_SOURCE_FILES}) +set(TEST_SOURCE_FILES tests/test-getcurrentprocessid.cpp tests/test-getusername.cpp ${HOST_COMMON_SOURCE_FILES} ${HOST_COMMON_TEST_SOURCE_FILES}) set(SOURCE_FILES main.cpp ../ext-src/gtest/fused-src/gtest/gtest-all.cc) SET(HOST_CMDLINE_SOURCE_FILES host/cmdline/main.cpp ${HOST_COMMON_SOURCE_FILES}) diff --git a/src/tests/test-getusername.cpp b/src/tests/test-getusername.cpp new file mode 100644 index 000000000..1b15cc2d6 --- /dev/null +++ b/src/tests/test-getusername.cpp @@ -0,0 +1,23 @@ +#include +#include +#include "getusername.h" + +TEST(GetUserName,simple) +{ + // allocate a WCHAR_T buffer to receive username + DWORD lpnSize = 64; + WCHAR_T lpBuffer[lpnSize]; + + BOOL result = GetUserName(lpBuffer, &lpnSize); + + // GetUserName returns 1 on success + ASSERT_EQ(1, result); + + // get expected username + const char *username = getlogin(); + + // GetUserName sets lpnSize to length of username including null + ASSERT_EQ(strlen(username)+1, lpnSize); + + // TODO: ASSERT_STREQ(username, Utf16leToUtf8(lpBuffer)) +}