Skip to content

Fea #55, 添加SetWaitableTimerEx #84

Fea #55, 添加SetWaitableTimerEx

Fea #55, 添加SetWaitableTimerEx #84

GitHub Actions / 单元测试报告 succeeded May 8, 2023 in 1s

单元测试报告 ✅

Tests passed successfully

Report Passed Failed Skipped Time
TestResults/UnitTestWin32.trx 100✅ 75s
TestResults/UnitTestWin64.trx 96✅ 164s

✅ TestResults/UnitTestWin32.trx

100 tests were completed in 75s with 100 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
api_ms_win_core_fibers.FlsGet_SetValue 4✅ 278ms
api_ms_win_core_kernel32_legacy.PowerRequest 1✅ 25ms
api_ms_win_core_localization.GetThreadPreferredUILanguages 4✅ 0ms
api_ms_win_core_localization.ResolveLocaleName 6✅ 2ms
api_ms_win_core_path.PathCchAddBackslashEx 2✅ 0ms
api_ms_win_core_path.PathCchAddExtension 5✅ 0ms
api_ms_win_core_path.PathCchAppendEx 2✅ 0ms
api_ms_win_core_path.PathCchCanonicalizeEx 3✅ 0ms
api_ms_win_core_path.PathCchCombineEx 3✅ 0ms
api_ms_win_core_path.PathCchFindExtension 3✅ 0ms
api_ms_win_core_path.PathCchIsRoot 5✅ 0ms
api_ms_win_core_path.PathCchRemoveBackslashEx 3✅ 0ms
api_ms_win_core_path.PathCchRemoveExtension 1✅ 0ms
api_ms_win_core_path.PathCchRemoveFileSpec 4✅ 0ms
api_ms_win_core_path.PathCchRenameExtension 3✅ 0ms
api_ms_win_core_path.PathCchSkipRoot 4✅ 0ms
api_ms_win_core_path.PathCchStripPrefix 2✅ 0ms
api_ms_win_core_path.PathCchStripToRoot 4✅ 0ms
api_ms_win_core_path.PathIsUNCEx 4✅ 0ms
api_ms_win_core_synch.TryAcquireSRWLockExclusive 3✅ 502ms
api_ms_win_core_synch.WaitOnAddress 2✅ 489ms
api_ms_win_core_synch.WakeByAddressAll 1✅ 230ms
api_ms_win_core_synch.WakeByAddressSingle 1✅ 447ms
api_ms_win_core_threadpool.FreeLibraryWhenCallbackReturns 2✅ 256ms
api_ms_win_core_threadpool.LeaveCriticalSectionWhenCallbackReturns 2✅ 218ms
api_ms_win_core_threadpool.ReleaseMutexWhenCallbackReturns 2✅ 210ms
api_ms_win_core_threadpool.ReleaseSemaphoreWhenCallbackReturns 2✅ 12ms
api_ms_win_core_threadpool.SetEventWhenCallbackReturns 2✅ 13ms
api_ms_win_core_threadpool.SetThreadpoolTimer 6✅ 11s
api_ms_win_core_threadpool.SetThreadpoolWait 4✅ 16s
api_ms_win_core_threadpool.SubmitThreadpoolWork 1✅ 2s
api_ms_win_core_threadpool.TrySubmitThreadpoolCallback 1✅ 2s
api_ms_win_core_threadpool.WaitForThreadpoolTimerCallbacks 1✅ 828ms
api_ms_win_core_threadpool.WaitForThreadpoolWaitCallbacks 1✅ 5s
api_ms_win_core_threadpool.WaitForThreadpoolWorkCallbacks 1✅ 2s
api_ms_win_power_base.PowerRegisterSuspendResumeNotification 1✅ 514ms
bcrypt.BCryptGenRandom 2✅ 0ms
Iphlpapi.GetIfTable2 1✅ 1ms
Others.通用项检测 1✅ 0ms

✅ api_ms_win_core_fibers.FlsGet_SetValue

✅ Fls释放销毁回调验证
✅ 单线程验证
✅ 多线程验证
✅ 线程退出销毁回调验证

✅ api_ms_win_core_kernel32_legacy.PowerRequest

✅ Set然后Clear

✅ api_ms_win_core_localization.GetThreadPreferredUILanguages

✅ Languages消重验证
✅ MUI_LANGUAGE_ID验证
✅ MUI_LANGUAGE_NAME验证
✅ 无效参数验证

✅ api_ms_win_core_localization.ResolveLocaleName

✅ 中性语言验证
✅ 仅返回长度验证
✅ 特定区域排序语言验证
✅ 特定区域语言验证
✅ 自动回退验证
✅ 默认值验证

✅ api_ms_win_core_path.PathCchAddBackslashEx

✅ 基础功能测试
✅ 空指针测试

✅ api_ms_win_core_path.PathCchAddExtension

✅ 后缀本身是一个空字符串
✅ 后缀格式错误验证
✅ 向已经存在后缀的路径添加
✅ 常规的添加
✅ 当文件名为空时添加

✅ api_ms_win_core_path.PathCchAppendEx

✅ More参数是一个完整路径
✅ 基础功能验证

✅ api_ms_win_core_path.PathCchCanonicalizeEx

✅ 基础功能验证
✅ 末尾多余点删除验证
✅ 根目录向上跳转验证

✅ api_ms_win_core_path.PathCchCombineEx

✅ More参数以斜杠开头
✅ More参数是一个完整路径
✅ 基础功能验证

✅ api_ms_win_core_path.PathCchFindExtension

✅ 不带任何斜杠情况提取
✅ 后缀带空格情况提取
✅ 常规后缀提取

✅ api_ms_win_core_path.PathCchIsRoot

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试
✅ 特殊值测试
✅ 相对路径测试

✅ api_ms_win_core_path.PathCchRemoveBackslashEx

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试

✅ api_ms_win_core_path.PathCchRemoveExtension

✅ 基础功能验证

✅ api_ms_win_core_path.PathCchRemoveFileSpec

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试
✅ 相对路径目录测试

✅ api_ms_win_core_path.PathCchRenameExtension

✅ 删除后缀
✅ 添加后缀
✅ 重命名后缀

✅ api_ms_win_core_path.PathCchSkipRoot

✅ Dos路径
✅ UNC目录测试
✅ VolumeGUID目录测试
✅ 相对路径目录测试

✅ api_ms_win_core_path.PathCchStripPrefix

✅ Dos路径
✅ UNC路径

✅ api_ms_win_core_path.PathCchStripToRoot

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试
✅ 相对路径测试

✅ api_ms_win_core_path.PathIsUNCEx

✅ Dos路径容错
✅ 传统UNC路径分割
✅ 空指针测试
✅ 长命名UNC路径分割

✅ api_ms_win_core_synch.TryAcquireSRWLockExclusive

✅ 如果其他线程占用,那么应该失败
✅ 锁定后其他线程会等待
✅ 首次肯定成功

✅ api_ms_win_core_synch.WaitOnAddress

✅ 结果本身不同
✅ 结果本身相同

✅ api_ms_win_core_synch.WakeByAddressAll

✅ 唤醒所有线程

✅ api_ms_win_core_synch.WakeByAddressSingle

✅ 只唤醒了一个线程

✅ api_ms_win_core_threadpool.FreeLibraryWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.LeaveCriticalSectionWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.ReleaseMutexWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.ReleaseSemaphoreWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.SetEventWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.SetThreadpoolTimer

✅ 一次性定时器
✅ 定时器覆盖
✅ 当DueTime数值为0时
✅ 当DueTime是nullptr
✅ 当DueTime是相对时间
✅ 当DueTime是绝对时间

✅ api_ms_win_core_threadpool.SetThreadpoolWait

✅ 取消等待器
✅ 无限等待
✅ 相对时间等待
✅ 绝对时间等待

✅ api_ms_win_core_threadpool.SubmitThreadpoolWork

✅ 一般行为验证

✅ api_ms_win_core_threadpool.TrySubmitThreadpoolCallback

✅ 一般行为验证

✅ api_ms_win_core_threadpool.WaitForThreadpoolTimerCallbacks

✅ 一般行为验证

✅ api_ms_win_core_threadpool.WaitForThreadpoolWaitCallbacks

✅ 一般行为验证

✅ api_ms_win_core_threadpool.WaitForThreadpoolWorkCallbacks

✅ 一般行为验证

✅ api_ms_win_power_base.PowerRegisterSuspendResumeNotification

✅ 创建然后关闭

✅ bcrypt.BCryptGenRandom

✅ BCRYPT_USE_SYSTEM_PREFERRED_RNG模式
✅ BCryptOpen在关闭

✅ Iphlpapi.GetIfTable2

✅ GetIfTable2简单验证

✅ Others.通用项检测

✅ 符号Thunks检测

✅ TestResults/UnitTestWin64.trx

96 tests were completed in 164s with 96 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
api_ms_win_core_kernel32_legacy.PowerRequest 1✅ 92ms
api_ms_win_core_localization.GetThreadPreferredUILanguages 4✅ 0ms
api_ms_win_core_localization.ResolveLocaleName 6✅ 1ms
api_ms_win_core_path.PathCchAddBackslashEx 2✅ 0ms
api_ms_win_core_path.PathCchAddExtension 5✅ 0ms
api_ms_win_core_path.PathCchAppendEx 2✅ 0ms
api_ms_win_core_path.PathCchCanonicalizeEx 3✅ 0ms
api_ms_win_core_path.PathCchCombineEx 3✅ 0ms
api_ms_win_core_path.PathCchFindExtension 3✅ 0ms
api_ms_win_core_path.PathCchIsRoot 5✅ 0ms
api_ms_win_core_path.PathCchRemoveBackslashEx 3✅ 0ms
api_ms_win_core_path.PathCchRemoveExtension 1✅ 0ms
api_ms_win_core_path.PathCchRemoveFileSpec 4✅ 0ms
api_ms_win_core_path.PathCchRenameExtension 3✅ 0ms
api_ms_win_core_path.PathCchSkipRoot 4✅ 0ms
api_ms_win_core_path.PathCchStripPrefix 2✅ 0ms
api_ms_win_core_path.PathCchStripToRoot 4✅ 0ms
api_ms_win_core_path.PathIsUNCEx 4✅ 0ms
api_ms_win_core_synch.TryAcquireSRWLockExclusive 3✅ 502ms
api_ms_win_core_synch.WaitOnAddress 2✅ 505ms
api_ms_win_core_synch.WakeByAddressAll 1✅ 230ms
api_ms_win_core_synch.WakeByAddressSingle 1✅ 445ms
api_ms_win_core_threadpool.FreeLibraryWhenCallbackReturns 2✅ 228ms
api_ms_win_core_threadpool.LeaveCriticalSectionWhenCallbackReturns 2✅ 214ms
api_ms_win_core_threadpool.ReleaseMutexWhenCallbackReturns 2✅ 213ms
api_ms_win_core_threadpool.ReleaseSemaphoreWhenCallbackReturns 2✅ 12ms
api_ms_win_core_threadpool.SetEventWhenCallbackReturns 2✅ 13ms
api_ms_win_core_threadpool.SetThreadpoolTimer 6✅ 11s
api_ms_win_core_threadpool.SetThreadpoolWait 4✅ 16s
api_ms_win_core_threadpool.SubmitThreadpoolWork 1✅ 2s
api_ms_win_core_threadpool.TrySubmitThreadpoolCallback 1✅ 2s
api_ms_win_core_threadpool.WaitForThreadpoolTimerCallbacks 1✅ 828ms
api_ms_win_core_threadpool.WaitForThreadpoolWaitCallbacks 1✅ 5s
api_ms_win_core_threadpool.WaitForThreadpoolWorkCallbacks 1✅ 2s
api_ms_win_power_base.PowerRegisterSuspendResumeNotification 1✅ 510ms
bcrypt.BCryptGenRandom 2✅ 0ms
Iphlpapi.GetIfTable2 1✅ 1ms
Others.通用项检测 1✅ 0ms

✅ api_ms_win_core_kernel32_legacy.PowerRequest

✅ Set然后Clear

✅ api_ms_win_core_localization.GetThreadPreferredUILanguages

✅ Languages消重验证
✅ MUI_LANGUAGE_ID验证
✅ MUI_LANGUAGE_NAME验证
✅ 无效参数验证

✅ api_ms_win_core_localization.ResolveLocaleName

✅ 中性语言验证
✅ 仅返回长度验证
✅ 特定区域排序语言验证
✅ 特定区域语言验证
✅ 自动回退验证
✅ 默认值验证

✅ api_ms_win_core_path.PathCchAddBackslashEx

✅ 基础功能测试
✅ 空指针测试

✅ api_ms_win_core_path.PathCchAddExtension

✅ 后缀本身是一个空字符串
✅ 后缀格式错误验证
✅ 向已经存在后缀的路径添加
✅ 常规的添加
✅ 当文件名为空时添加

✅ api_ms_win_core_path.PathCchAppendEx

✅ More参数是一个完整路径
✅ 基础功能验证

✅ api_ms_win_core_path.PathCchCanonicalizeEx

✅ 基础功能验证
✅ 末尾多余点删除验证
✅ 根目录向上跳转验证

✅ api_ms_win_core_path.PathCchCombineEx

✅ More参数以斜杠开头
✅ More参数是一个完整路径
✅ 基础功能验证

✅ api_ms_win_core_path.PathCchFindExtension

✅ 不带任何斜杠情况提取
✅ 后缀带空格情况提取
✅ 常规后缀提取

✅ api_ms_win_core_path.PathCchIsRoot

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试
✅ 特殊值测试
✅ 相对路径测试

✅ api_ms_win_core_path.PathCchRemoveBackslashEx

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试

✅ api_ms_win_core_path.PathCchRemoveExtension

✅ 基础功能验证

✅ api_ms_win_core_path.PathCchRemoveFileSpec

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试
✅ 相对路径目录测试

✅ api_ms_win_core_path.PathCchRenameExtension

✅ 删除后缀
✅ 添加后缀
✅ 重命名后缀

✅ api_ms_win_core_path.PathCchSkipRoot

✅ Dos路径
✅ UNC目录测试
✅ VolumeGUID目录测试
✅ 相对路径目录测试

✅ api_ms_win_core_path.PathCchStripPrefix

✅ Dos路径
✅ UNC路径

✅ api_ms_win_core_path.PathCchStripToRoot

✅ Dos路径测试
✅ UNC路径测试
✅ VolumeGUID路径测试
✅ 相对路径测试

✅ api_ms_win_core_path.PathIsUNCEx

✅ Dos路径容错
✅ 传统UNC路径分割
✅ 空指针测试
✅ 长命名UNC路径分割

✅ api_ms_win_core_synch.TryAcquireSRWLockExclusive

✅ 如果其他线程占用,那么应该失败
✅ 锁定后其他线程会等待
✅ 首次肯定成功

✅ api_ms_win_core_synch.WaitOnAddress

✅ 结果本身不同
✅ 结果本身相同

✅ api_ms_win_core_synch.WakeByAddressAll

✅ 唤醒所有线程

✅ api_ms_win_core_synch.WakeByAddressSingle

✅ 只唤醒了一个线程

✅ api_ms_win_core_threadpool.FreeLibraryWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.LeaveCriticalSectionWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.ReleaseMutexWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.ReleaseSemaphoreWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.SetEventWhenCallbackReturns

✅ 任务测试
✅ 定时器测试

✅ api_ms_win_core_threadpool.SetThreadpoolTimer

✅ 一次性定时器
✅ 定时器覆盖
✅ 当DueTime数值为0时
✅ 当DueTime是nullptr
✅ 当DueTime是相对时间
✅ 当DueTime是绝对时间

✅ api_ms_win_core_threadpool.SetThreadpoolWait

✅ 取消等待器
✅ 无限等待
✅ 相对时间等待
✅ 绝对时间等待

✅ api_ms_win_core_threadpool.SubmitThreadpoolWork

✅ 一般行为验证

✅ api_ms_win_core_threadpool.TrySubmitThreadpoolCallback

✅ 一般行为验证

✅ api_ms_win_core_threadpool.WaitForThreadpoolTimerCallbacks

✅ 一般行为验证

✅ api_ms_win_core_threadpool.WaitForThreadpoolWaitCallbacks

✅ 一般行为验证

✅ api_ms_win_core_threadpool.WaitForThreadpoolWorkCallbacks

✅ 一般行为验证

✅ api_ms_win_power_base.PowerRegisterSuspendResumeNotification

✅ 创建然后关闭

✅ bcrypt.BCryptGenRandom

✅ BCRYPT_USE_SYSTEM_PREFERRED_RNG模式
✅ BCryptOpen在关闭

✅ Iphlpapi.GetIfTable2

✅ GetIfTable2简单验证

✅ Others.通用项检测

✅ 符号Thunks检测