Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Unity
提交
f31667ad
T
Third Party Unity
项目概览
OpenHarmony
/
Third Party Unity
大约 1 年 前同步成功
通知
34
Star
144
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Unity
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f31667ad
编写于
2月 18, 2016
作者:
M
Mark VanderVoord
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #166 from jsalling/bugfix/line-numbers
Bugfix - line numbers output by Fixture memory checks
上级
3826b3a1
943fef8a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
36 addition
and
16 deletion
+36
-16
extras/fixture/src/unity_fixture.c
extras/fixture/src/unity_fixture.c
+10
-11
extras/fixture/src/unity_fixture.h
extras/fixture/src/unity_fixture.h
+1
-1
extras/fixture/src/unity_fixture_internals.h
extras/fixture/src/unity_fixture_internals.h
+3
-3
extras/fixture/test/unity_fixture_Test.c
extras/fixture/test/unity_fixture_Test.c
+21
-1
extras/fixture/test/unity_fixture_TestRunner.c
extras/fixture/test/unity_fixture_TestRunner.c
+1
-0
未找到文件。
extras/fixture/src/unity_fixture.c
浏览文件 @
f31667ad
...
...
@@ -9,7 +9,7 @@
#include "unity_fixture.h"
#include "unity_internals.h"
UNITY_FIXTURE_T
UnityFixture
;
struct
_UnityFixture
UnityFixture
;
//If you decide to use the function pointer approach.
//Build with -D UNITY_OUTPUT_CHAR=outputChar and include <stdio.h>
...
...
@@ -140,7 +140,7 @@ void UnityMalloc_EndTest(void)
malloc_fail_countdown
=
MALLOC_DONT_FAIL
;
if
(
malloc_count
!=
0
)
{
TEST_FAIL_MESSAGE
(
"This test leaks!"
);
UNITY_TEST_FAIL
(
Unity
.
CurrentTestLineNumber
,
"This test leaks!"
);
}
}
...
...
@@ -247,7 +247,7 @@ void unity_free(void* mem)
release_memory
(
mem
);
if
(
overrun
)
{
TEST_FAIL_MESSAGE
(
"Buffer overrun detected during free()"
);
UNITY_TEST_FAIL
(
Unity
.
CurrentTestLineNumber
,
"Buffer overrun detected during free()"
);
}
}
...
...
@@ -270,7 +270,7 @@ void* unity_realloc(void* oldMem, size_t size)
if
(
isOverrun
(
oldMem
))
{
release_memory
(
oldMem
);
TEST_FAIL_MESSAGE
(
"Buffer overrun detected during realloc()"
);
UNITY_TEST_FAIL
(
Unity
.
CurrentTestLineNumber
,
"Buffer overrun detected during realloc()"
);
}
if
(
size
==
0
)
...
...
@@ -299,15 +299,14 @@ void* unity_realloc(void* oldMem, size_t size)
//--------------------------------------------------------
//Automatic pointer restoration functions
typedef
struct
_
PointerPair
struct
PointerPair
{
struct
_PointerPair
*
next
;
void
**
pointer
;
void
*
old_value
;
}
PointerPair
;
};
enum
{
MAX_POINTERS
=
50
};
static
PointerPair
pointer_store
[
MAX_POINTERS
+
1
];
enum
{
MAX_POINTERS
=
50
};
static
struct
PointerPair
pointer_store
[
MAX_POINTERS
];
static
int
pointer_index
=
0
;
void
UnityPointer_Init
(
void
)
...
...
@@ -315,11 +314,11 @@ void UnityPointer_Init(void)
pointer_index
=
0
;
}
void
UnityPointer_Set
(
void
**
pointer
,
void
*
newValue
)
void
UnityPointer_Set
(
void
**
pointer
,
void
*
newValue
,
UNITY_LINE_TYPE
line
)
{
if
(
pointer_index
>=
MAX_POINTERS
)
{
TEST_FAIL_MESSAGE
(
"Too many pointers set"
);
UNITY_TEST_FAIL
(
line
,
"Too many pointers set"
);
}
else
{
...
...
extras/fixture/src/unity_fixture.h
浏览文件 @
f31667ad
...
...
@@ -64,7 +64,7 @@ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void));
TEST_##group##_GROUP_RUNNER(); }
//CppUTest Compatibility Macros
#define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue))
#define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue)
, __LINE__
)
#define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR((expected), (actual))
#define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual))
#define FAIL(message) TEST_FAIL_MESSAGE((message))
...
...
extras/fixture/src/unity_fixture_internals.h
浏览文件 @
f31667ad
...
...
@@ -8,13 +8,13 @@
#ifndef UNITY_FIXTURE_INTERNALS_H_
#define UNITY_FIXTURE_INTERNALS_H_
typedef
struct
_UNITY_FIXTURE_T
struct
_UnityFixture
{
int
Verbose
;
unsigned
int
RepeatCount
;
const
char
*
NameFilter
;
const
char
*
GroupFilter
;
}
UNITY_FIXTURE_T
;
};
typedef
void
unityfunction
(
void
);
void
UnityTestRunner
(
unityfunction
*
setup
,
...
...
@@ -34,7 +34,7 @@ UNITY_COUNTER_TYPE UnityTestsCount(void);
int
UnityGetCommandLineOptions
(
int
argc
,
const
char
*
argv
[]);
void
UnityConcludeFixtureTest
(
void
);
void
UnityPointer_Set
(
void
**
ptr
,
void
*
newValue
);
void
UnityPointer_Set
(
void
**
ptr
,
void
*
newValue
,
UNITY_LINE_TYPE
line
);
void
UnityPointer_UndoAllSets
(
void
);
void
UnityPointer_Init
(
void
);
...
...
extras/fixture/test/unity_fixture_Test.c
浏览文件 @
f31667ad
...
...
@@ -10,7 +10,7 @@
#include <stdlib.h>
#include <string.h>
extern
UNITY_FIXTURE_T
UnityFixture
;
extern
struct
_UnityFixture
UnityFixture
;
TEST_GROUP
(
UnityFixture
);
...
...
@@ -422,6 +422,26 @@ TEST(LeakDetection, BufferGuardWriteFoundDuringRealloc)
#endif
}
TEST
(
LeakDetection
,
PointerSettingMax
)
{
#ifndef USING_OUTPUT_SPY
UNITY_PRINT_EOL
();
TEST_IGNORE
();
#else
int
i
;
for
(
i
=
0
;
i
<
50
;
i
++
)
UT_PTR_SET
(
pointer1
,
&
int1
);
UnityOutputCharSpy_Enable
(
1
);
EXPECT_ABORT_BEGIN
UT_PTR_SET
(
pointer1
,
&
int1
);
EXPECT_ABORT_END
UnityOutputCharSpy_Enable
(
0
);
Unity
.
CurrentTestFailed
=
0
;
CHECK
(
strstr
(
UnityOutputCharSpy_Get
(),
"Too many pointers set"
));
#endif
}
//------------------------------------------------------------
TEST_GROUP
(
InternalMalloc
);
TEST_SETUP
(
InternalMalloc
)
{
}
...
...
extras/fixture/test/unity_fixture_TestRunner.c
浏览文件 @
f31667ad
...
...
@@ -42,6 +42,7 @@ TEST_GROUP_RUNNER(LeakDetection)
RUN_TEST_CASE
(
LeakDetection
,
BufferOverrunFoundDuringRealloc
);
RUN_TEST_CASE
(
LeakDetection
,
BufferGuardWriteFoundDuringFree
);
RUN_TEST_CASE
(
LeakDetection
,
BufferGuardWriteFoundDuringRealloc
);
RUN_TEST_CASE
(
LeakDetection
,
PointerSettingMax
);
}
TEST_GROUP_RUNNER
(
InternalMalloc
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录