Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Unity
提交
d915bf7a
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,发现更多精彩内容 >>
未验证
提交
d915bf7a
编写于
5月 03, 2018
作者:
M
Mark VanderVoord
提交者:
GitHub
5月 03, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #324 from farrrb/origin/fix-UNITY_OUTPUT_FLUSH
Re: Fix custom UNITY_OUTPUT_FLUSH and add tests #287
上级
e2ee98e3
e038ae2a
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
64 addition
and
26 deletion
+64
-26
docs/UnityConfigurationGuide.md
docs/UnityConfigurationGuide.md
+3
-5
src/unity_internals.h
src/unity_internals.h
+16
-16
test/Makefile
test/Makefile
+2
-0
test/testdata/testRunnerGenerator.c
test/testdata/testRunnerGenerator.c
+4
-1
test/testdata/testRunnerGeneratorSmall.c
test/testdata/testRunnerGeneratorSmall.c
+4
-1
test/testdata/testRunnerGeneratorWithMocks.c
test/testdata/testRunnerGeneratorWithMocks.c
+4
-1
test/tests/testparameterized.c
test/tests/testparameterized.c
+5
-2
test/tests/testunity.c
test/tests/testunity.c
+26
-0
未找到文件。
docs/UnityConfigurationGuide.md
浏览文件 @
d915bf7a
...
...
@@ -248,7 +248,8 @@ _Example:_
Say you are forced to run your test suite on an embedded processor with no
`stdout`
option. You decide to route your test result output to a custom serial
`RS232_putc()`
function you wrote like thus:
#include "RS232_header.h"
...
#define UNITY_OUTPUT_CHAR(a) RS232_putc(a)
#define UNITY_OUTPUT_START() RS232_config(115200,1,8,0)
#define UNITY_OUTPUT_FLUSH() RS232_flush()
...
...
@@ -256,10 +257,7 @@ Say you are forced to run your test suite on an embedded processor with no
_Note:_
`UNITY_OUTPUT_FLUSH()`
can be set to the standard out flush function simply by
specifying
`UNITY_USE_FLUSH_STDOUT`
. No other defines are required. If you
specify a custom flush function instead with
`UNITY_OUTPUT_FLUSH`
directly, it
will declare an instance of your function by default. If you want to disable
this behavior, add
`UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION`
.
specifying
`UNITY_USE_FLUSH_STDOUT`
. No other defines are required.
##### `UNITY_WEAK_ATTRIBUTE`
...
...
src/unity_internals.h
浏览文件 @
d915bf7a
...
...
@@ -241,30 +241,30 @@ typedef UNITY_FLOAT_TYPE UNITY_FLOAT;
* Output Method: stdout (DEFAULT)
*-------------------------------------------------------*/
#ifndef UNITY_OUTPUT_CHAR
/* Default to using putchar, which is defined in stdio.h */
#include <stdio.h>
#define UNITY_OUTPUT_CHAR(a) (void)putchar(a)
/* Default to using putchar, which is defined in stdio.h */
#include <stdio.h>
#define UNITY_OUTPUT_CHAR(a) (void)putchar(a)
#else
/* If defined as something else, make sure we declare it here so it's ready for use */
#ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION
extern
void
UNITY_OUTPUT_CHAR_HEADER_DECLARATION
;
extern
void
UNITY_OUTPUT_CHAR_HEADER_DECLARATION
;
#endif
#endif
#ifndef UNITY_OUTPUT_FLUSH
#ifdef UNITY_USE_FLUSH_STDOUT
/* We want to use the stdout flush utility */
#include <stdio.h>
#define UNITY_OUTPUT_FLUSH() (void)fflush(stdout)
#else
/* We've specified nothing, therefore flush should just be ignored */
#define UNITY_OUTPUT_FLUSH()
#endif
#ifdef UNITY_USE_FLUSH_STDOUT
/* We want to use the stdout flush utility */
#include <stdio.h>
#define UNITY_OUTPUT_FLUSH() (void)fflush(stdout)
#else
/* We've specified nothing, therefore flush should just be ignored */
#define UNITY_OUTPUT_FLUSH()
#endif
#else
/* We've defined flush as something else, so
make sure we declare it here so it's ready for use */
#ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION
extern
void
UNITY_OMIT
_OUTPUT_FLUSH_HEADER_DECLARATION
;
#endif
/* If defined as something else,
make sure we declare it here so it's ready for use */
#ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION
extern
void
UNITY
_OUTPUT_FLUSH_HEADER_DECLARATION
;
#endif
#endif
#ifndef UNITY_OUTPUT_FLUSH
...
...
test/Makefile
浏览文件 @
d915bf7a
...
...
@@ -15,6 +15,8 @@ CFLAGS += -Wbad-function-cast -Wcast-qual -Wold-style-definition -Wshadow -Wstri
CFLAGS
+=
$(DEBUG)
DEFINES
=
-D
UNITY_OUTPUT_CHAR
=
putcharSpy
DEFINES
+=
-D
UNITY_OUTPUT_CHAR_HEADER_DECLARATION
=
putcharSpy
\(
int
\)
DEFINES
+=
-D
UNITY_OUTPUT_FLUSH
=
flushSpy
DEFINES
+=
-D
UNITY_OUTPUT_FLUSH_HEADER_DECLARATION
=
flushSpy
\(
void
\)
DEFINES
+=
$(UNITY_SUPPORT_64)
$(UNITY_INCLUDE_DOUBLE)
UNITY_SUPPORT_64
=
-D
UNITY_SUPPORT_64
UNITY_INCLUDE_DOUBLE
=
-D
UNITY_INCLUDE_DOUBLE
...
...
test/testdata/testRunnerGenerator.c
浏览文件 @
d915bf7a
...
...
@@ -21,7 +21,10 @@
/* Support for Meta Test Rig */
#define TEST_CASE(a)
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
// include passthrough for linking tests
/* Include Passthroughs for Linking Tests */
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
void
flushSpy
(
void
)
{}
/* Global Variables Used During These Tests */
int
CounterSetup
=
0
;
...
...
test/testdata/testRunnerGeneratorSmall.c
浏览文件 @
d915bf7a
...
...
@@ -13,7 +13,10 @@ TEST_FILE("some_file.c")
/* Support for Meta Test Rig */
#define TEST_CASE(a)
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
// include passthrough for linking tests
/* Include Passthroughs for Linking Tests */
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
void
flushSpy
(
void
)
{}
/* Global Variables Used During These Tests */
int
CounterSetup
=
0
;
...
...
test/testdata/testRunnerGeneratorWithMocks.c
浏览文件 @
d915bf7a
...
...
@@ -22,7 +22,10 @@
/* Support for Meta Test Rig */
#define TEST_CASE(a)
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
// include passthrough for linking tests
/* Include Passthroughs for Linking Tests */
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
void
flushSpy
(
void
)
{}
/* Global Variables Used During These Tests */
int
CounterSetup
=
0
;
...
...
test/tests/testparameterized.c
浏览文件 @
d915bf7a
...
...
@@ -8,10 +8,13 @@
#include <stdio.h>
#include "unity.h"
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
// include passthrough for linking tests
/* Support for Meta Test Rig */
#define TEST_CASE(...)
/* Include Passthroughs for Linking Tests */
void
putcharSpy
(
int
c
)
{
(
void
)
putchar
(
c
);}
void
flushSpy
(
void
)
{}
#define EXPECT_ABORT_BEGIN \
if (TEST_PROTECT()) \
{
...
...
test/tests/testunity.c
浏览文件 @
d915bf7a
...
...
@@ -54,6 +54,10 @@ void startPutcharSpy(void);
void
endPutcharSpy
(
void
);
char
*
getBufferPutcharSpy
(
void
);
void
startFlushSpy
(
void
);
void
endFlushSpy
(
void
);
int
getFlushSpyCalls
(
void
);
static
int
SetToOneToFailInTearDown
;
static
int
SetToOneMeanWeAlreadyCheckedThisGuy
;
...
...
@@ -3335,14 +3339,35 @@ void putcharSpy(int c)
#endif
}
/* This is for counting the calls to the flushSpy */
static
int
flushSpyEnabled
;
static
int
flushSpyCalls
=
0
;
void
startFlushSpy
(
void
)
{
flushSpyCalls
=
0
;
flushSpyEnabled
=
1
;
}
void
endFlushSpy
(
void
)
{
flushSpyCalls
=
0
;
flushSpyEnabled
=
0
;
}
int
getFlushSpyCalls
(
void
)
{
return
flushSpyCalls
;
}
void
flushSpy
(
void
)
{
if
(
flushSpyEnabled
){
flushSpyCalls
++
;
}
}
void
testFailureCountIncrementsAndIsReturnedAtEnd
(
void
)
{
UNITY_UINT
savedFailures
=
Unity
.
TestFailures
;
Unity
.
CurrentTestFailed
=
1
;
startPutcharSpy
();
// Suppress output
startFlushSpy
();
TEST_ASSERT_EQUAL
(
0
,
getFlushSpyCalls
());
UnityConcludeTest
();
endPutcharSpy
();
TEST_ASSERT_EQUAL
(
savedFailures
+
1
,
Unity
.
TestFailures
);
#if defined(UNITY_OUTPUT_FLUSH) && defined(UNITY_OUTPUT_FLUSH_HEADER_DECLARATION)
TEST_ASSERT_EQUAL
(
1
,
getFlushSpyCalls
());
#else
TEST_ASSERT_EQUAL
(
0
,
getFlushSpyCalls
());
#endif
endFlushSpy
();
startPutcharSpy
();
// Suppress output
int
failures
=
UnityEnd
();
...
...
@@ -3412,6 +3437,7 @@ void testPrintNumbersUnsigned32(void)
#endif
}
// ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES 64 BIT SUPPORT ==================
void
testPrintNumbersInt64
(
void
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录