이 웹사이트는 자바스크립트 활성화가 필요합니다.
홈
탐색
도움말
로그인
Archivist
/
gplib
보기
1
좋아요
1
포크
0
코드
이슈
8
풀 리퀘스트
0
릴리즈
0
위키
활동
소스 검색
Scaffold for tests
devel
Ludovic 'Archivist' Lagouardette
5 년 전
부모
2cbc1cc134
커밋
261d2fb1c9
6개의 변경된 파일
과
85개의 추가작업
그리고
0개의 파일을 삭제
분할 보기
Diff Options
Show Stats
Download Patch File
Download Diff File
+1
-0
.gitignore
+11
-0
Makefile
+1
-0
include/stored_array.hpp
+27
-0
tests.cpp
+27
-0
tests/meta_test.cpp
+18
-0
tests/test_scaffold.cpp
+ 1
- 0
.gitignore
파일 보기
@ -32,3 +32,4 @@
*.out
*.app
bin/tests
+ 11
- 0
Makefile
파일 보기
@ -0,0 +1,11 @@
CXX
=
clang++
CXXFLAGS
=
--std
=
c++2a
all
:
tests
tests
:
bin
/
tests
./bin/tests
bin/tests
:
tests
.
cpp
$(
wildcard
tests
/*.
cpp
)
@mkdir -p
$(
@D
)
$(
CXX
)
$(
CXXFLAGS
)
-Itests -Iinclude tests.cpp -o
$@
+ 1
- 0
include/stored_array.hpp
파일 보기
@ -0,0 +1 @@
#
pragma once
+ 27
- 0
tests.cpp
파일 보기
@ -0,0 +1,27 @@
#
include
"test_scaffold.cpp"
#
include
"meta_test.cpp"
#
include
<iostream>
int
main
(
)
{
uint
failed
=
0
;
uint
runned
=
0
;
for
(
auto
&
test
:
tests
)
{
+
+
runned
;
int
value
;
try
{
value
=
test
-
>
run
(
)
;
if
(
value
)
{
std
:
:
cout
<
<
test
-
>
name
<
<
"
failed with
"
<
<
value
<
<
std
:
:
endl
;
}
}
catch
(
.
.
.
)
{
std
:
:
cout
<
<
test
-
>
name
<
<
"
failed with an exception
"
<
<
std
:
:
endl
;
value
=
-
1
;
}
failed
+
=
(
value
!
=
0
)
;
}
std
:
:
cout
<
<
"
Runned
"
<
<
runned
<
<
"
tests with
"
<
<
failed
<
<
"
failures
"
<
<
std
:
:
endl
;
return
0
;
}
+ 27
- 0
tests/meta_test.cpp
파일 보기
@ -0,0 +1,27 @@
#
include
"test_scaffold.cpp"
struct
meta_test
:
public
test_scaffold
{
meta_test
(
)
{
name
=
__FILE__
"
:1
"
;
}
virtual
int
run
(
)
{
return
0
;
}
}
;
struct
meta_test2
:
public
test_scaffold
{
meta_test2
(
)
{
name
=
__FILE__
"
:2
"
;
}
class
carrot
{
}
;
virtual
int
run
(
)
{
// throw carrot{};
return
0
;
}
}
;
append_test
dummy_r3436r43
(
new
meta_test
{
}
)
;
append_test
dummy_dfh486df
(
new
meta_test2
{
}
)
;
+ 18
- 0
tests/test_scaffold.cpp
파일 보기
@ -0,0 +1,18 @@
#
pragma once
#
include
<string>
#
include
<vector>
#
include
<memory>
struct
test_scaffold
{
std
:
:
string
name
;
virtual
int
run
(
)
=
0
;
virtual
~
test_scaffold
(
)
=
default
;
}
;
std
:
:
vector
<
std
:
:
unique_ptr
<
test_scaffold
>
>
tests
;
struct
append_test
{
append_test
(
test_scaffold
*
ptr
)
{
tests
.
emplace_back
(
ptr
)
;
}
}
;
쓰기
미리보기
불러오는 중...
취소
저장