Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
googletest
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
googletest
Commits
afaefb0e
Commit
afaefb0e
authored
Jan 07, 2011
by
zhanyong.wan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removes unused NC tests.
parent
7225dd17
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
349 deletions
+0
-349
gtest_nc.cc
test/gtest_nc.cc
+0
-234
gtest_nc_test.py
test/gtest_nc_test.py
+0
-115
No files found.
test/gtest_nc.cc
deleted
100644 → 0
View file @
7225dd17
// Copyright 2007, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Author: wan@google.com (Zhanyong Wan)
// This file is the input to a negative-compilation test for Google
// Test. Code here is NOT supposed to compile. Its purpose is to
// verify that certain incorrect usages of the Google Test API are
// indeed rejected by the compiler.
//
// We still need to write the negative-compilation test itself, which
// will be tightly coupled with the build environment.
//
// TODO(wan@google.com): finish the negative-compilation test.
#ifdef TEST_CANNOT_IGNORE_RUN_ALL_TESTS_RESULT
// Tests that the result of RUN_ALL_TESTS() cannot be ignored.
#include "gtest/gtest.h"
int
main
(
int
argc
,
char
**
argv
)
{
testing
::
InitGoogleTest
(
&
argc
,
argv
);
RUN_ALL_TESTS
();
// This line shouldn't compile.
}
#elif defined(TEST_USER_CANNOT_INCLUDE_GTEST_INTERNAL_INL_H)
// Tests that a user cannot include gtest-internal-inl.h in his code.
#include "src/gtest-internal-inl.h"
#elif defined(TEST_CATCHES_DECLARING_SETUP_IN_TEST_FIXTURE_WITH_TYPO)
// Tests that the compiler catches the typo when a user declares a
// Setup() method in a test fixture.
#include "gtest/gtest.h"
class
MyTest
:
public
testing
::
Test
{
protected
:
void
Setup
()
{}
};
#elif defined(TEST_CATCHES_CALLING_SETUP_IN_TEST_WITH_TYPO)
// Tests that the compiler catches the typo when a user calls Setup()
// from a test fixture.
#include "gtest/gtest.h"
class
MyTest
:
public
testing
::
Test
{
protected
:
virtual
void
SetUp
()
{
testing
::
Test
::
Setup
();
// Tries to call SetUp() in the parent class.
}
};
#elif defined(TEST_CATCHES_DECLARING_SETUP_IN_ENVIRONMENT_WITH_TYPO)
// Tests that the compiler catches the typo when a user declares a
// Setup() method in a subclass of Environment.
#include "gtest/gtest.h"
class
MyEnvironment
:
public
testing
::
Environment
{
public
:
void
Setup
()
{}
};
#elif defined(TEST_CATCHES_CALLING_SETUP_IN_ENVIRONMENT_WITH_TYPO)
// Tests that the compiler catches the typo when a user calls Setup()
// in an Environment.
#include "gtest/gtest.h"
class
MyEnvironment
:
public
testing
::
Environment
{
protected
:
virtual
void
SetUp
()
{
// Tries to call SetUp() in the parent class.
testing
::
Environment
::
Setup
();
}
};
#elif defined(TEST_CATCHES_WRONG_CASE_IN_TYPED_TEST_P)
// Tests that the compiler catches using the wrong test case name in
// TYPED_TEST_P.
#include "gtest/gtest.h"
template
<
typename
T
>
class
FooTest
:
public
testing
::
Test
{
};
template
<
typename
T
>
class
BarTest
:
public
testing
::
Test
{
};
TYPED_TEST_CASE_P
(
FooTest
);
TYPED_TEST_P
(
BarTest
,
A
)
{}
// Wrong test case name.
REGISTER_TYPED_TEST_CASE_P
(
FooTest
,
A
);
INSTANTIATE_TYPED_TEST_CASE_P
(
My
,
FooTest
,
testing
::
Types
<
int
>
);
#elif defined(TEST_CATCHES_WRONG_CASE_IN_REGISTER_TYPED_TEST_CASE_P)
// Tests that the compiler catches using the wrong test case name in
// REGISTER_TYPED_TEST_CASE_P.
#include "gtest/gtest.h"
template
<
typename
T
>
class
FooTest
:
public
testing
::
Test
{
};
template
<
typename
T
>
class
BarTest
:
public
testing
::
Test
{
};
TYPED_TEST_CASE_P
(
FooTest
);
TYPED_TEST_P
(
FooTest
,
A
)
{}
REGISTER_TYPED_TEST_CASE_P
(
BarTest
,
A
);
// Wrong test case name.
INSTANTIATE_TYPED_TEST_CASE_P
(
My
,
FooTest
,
testing
::
Types
<
int
>
);
#elif defined(TEST_CATCHES_WRONG_CASE_IN_INSTANTIATE_TYPED_TEST_CASE_P)
// Tests that the compiler catches using the wrong test case name in
// INSTANTIATE_TYPED_TEST_CASE_P.
#include "gtest/gtest.h"
template
<
typename
T
>
class
FooTest
:
public
testing
::
Test
{
};
template
<
typename
T
>
class
BarTest
:
public
testing
::
Test
{
};
TYPED_TEST_CASE_P
(
FooTest
);
TYPED_TEST_P
(
FooTest
,
A
)
{}
REGISTER_TYPED_TEST_CASE_P
(
FooTest
,
A
);
// Wrong test case name.
INSTANTIATE_TYPED_TEST_CASE_P
(
My
,
BarTest
,
testing
::
Types
<
int
>
);
#elif defined(TEST_CATCHES_INSTANTIATE_TYPED_TESET_CASE_P_WITH_SAME_NAME_PREFIX)
// Tests that the compiler catches instantiating TYPED_TEST_CASE_P
// twice with the same name prefix.
#include "gtest/gtest.h"
template
<
typename
T
>
class
FooTest
:
public
testing
::
Test
{
};
TYPED_TEST_CASE_P
(
FooTest
);
TYPED_TEST_P
(
FooTest
,
A
)
{}
REGISTER_TYPED_TEST_CASE_P
(
FooTest
,
A
);
INSTANTIATE_TYPED_TEST_CASE_P
(
My
,
FooTest
,
testing
::
Types
<
int
>
);
// Wrong name prefix: "My" has been used.
INSTANTIATE_TYPED_TEST_CASE_P
(
My
,
FooTest
,
testing
::
Types
<
double
>
);
#elif defined(TEST_STATIC_ASSERT_TYPE_EQ_IS_NOT_A_TYPE)
#include "gtest/gtest.h"
// Tests that StaticAssertTypeEq<T1, T2> cannot be used as a type.
testing
::
StaticAssertTypeEq
<
int
,
int
>
dummy
;
#elif defined(TEST_STATIC_ASSERT_TYPE_EQ_WORKS_IN_NAMESPACE)
#include "gtest/gtest.h"
// Tests that StaticAssertTypeEq<T1, T2> works in a namespace scope.
static
bool
dummy
=
testing
::
StaticAssertTypeEq
<
int
,
const
int
>
();
#elif defined(TEST_STATIC_ASSERT_TYPE_EQ_WORKS_IN_CLASS)
#include "gtest/gtest.h"
template
<
typename
T
>
class
Helper
{
public
:
// Tests that StaticAssertTypeEq<T1, T2> works in a class.
Helper
()
{
testing
::
StaticAssertTypeEq
<
int
,
T
>
();
}
void
DoSomething
()
{}
};
void
Test
()
{
Helper
<
bool
>
h
;
h
.
DoSomething
();
// To avoid the "unused variable" warning.
}
#elif defined(TEST_STATIC_ASSERT_TYPE_EQ_WORKS_IN_FUNCTION)
#include "gtest/gtest.h"
void
Test
()
{
// Tests that StaticAssertTypeEq<T1, T2> works inside a function.
testing
::
StaticAssertTypeEq
<
const
int
,
int
>
();
}
#else
// A sanity test. This should compile.
#include "gtest/gtest.h"
int
main
()
{
return
RUN_ALL_TESTS
();
}
#endif
test/gtest_nc_test.py
deleted
100755 → 0
View file @
7225dd17
#!/usr/bin/env python
#
# Copyright 2007, Google Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""Negative compilation test for Google Test."""
__author__
=
'wan@google.com (Zhanyong Wan)'
import
os
import
sys
import
unittest
IS_LINUX
=
os
.
name
==
'posix'
and
os
.
uname
()[
0
]
==
'Linux'
if
not
IS_LINUX
:
sys
.
exit
(
0
)
# Negative compilation tests are not supported on Windows & Mac.
class
GTestNCTest
(
unittest
.
TestCase
):
"""Negative compilation test for Google Test."""
# The class body is intentionally empty. The actual test*() methods
# will be defined at run time by a call to
# DefineNegativeCompilationTests() later.
pass
# Defines a list of test specs, where each element is a tuple
# (test name, list of regexes for matching the compiler errors).
TEST_SPECS
=
[
(
'CANNOT_IGNORE_RUN_ALL_TESTS_RESULT'
,
[
r'ignoring return value'
]),
(
'USER_CANNOT_INCLUDE_GTEST_INTERNAL_INL_H'
,
[
r'must not be included except by Google Test itself'
]),
(
'CATCHES_DECLARING_SETUP_IN_TEST_FIXTURE_WITH_TYPO'
,
[
r'Setup_should_be_spelled_SetUp'
]),
(
'CATCHES_CALLING_SETUP_IN_TEST_WITH_TYPO'
,
[
r'Setup_should_be_spelled_SetUp'
]),
(
'CATCHES_DECLARING_SETUP_IN_ENVIRONMENT_WITH_TYPO'
,
[
r'Setup_should_be_spelled_SetUp'
]),
(
'CATCHES_CALLING_SETUP_IN_ENVIRONMENT_WITH_TYPO'
,
[
r'Setup_should_be_spelled_SetUp'
]),
(
'CATCHES_WRONG_CASE_IN_TYPED_TEST_P'
,
[
r'BarTest.*was not declared'
,
# GCC
r'undeclared identifier .*BarTest'
,
# Clang
]),
(
'CATCHES_WRONG_CASE_IN_REGISTER_TYPED_TEST_CASE_P'
,
[
r'BarTest.*was not declared'
,
# GCC
r'undeclared identifier .*BarTest'
,
# Clang
]),
(
'CATCHES_WRONG_CASE_IN_INSTANTIATE_TYPED_TEST_CASE_P'
,
[
r'BarTest.*not declared'
,
# GCC
r'undeclared identifier .*BarTest'
,
# Clang
]),
(
'CATCHES_INSTANTIATE_TYPED_TESET_CASE_P_WITH_SAME_NAME_PREFIX'
,
[
r'redefinition of.*My.*FooTest'
]),
(
'STATIC_ASSERT_TYPE_EQ_IS_NOT_A_TYPE'
,
[
r'StaticAssertTypeEq.* does not name a type'
,
# GCC
r'requires a type.*\n.*StaticAssertTypeEq'
,
# Clang
]),
(
'STATIC_ASSERT_TYPE_EQ_WORKS_IN_NAMESPACE'
,
[
r'StaticAssertTypeEq.*int.*const int'
]),
(
'STATIC_ASSERT_TYPE_EQ_WORKS_IN_CLASS'
,
[
r'StaticAssertTypeEq.*int.*bool'
]),
(
'STATIC_ASSERT_TYPE_EQ_WORKS_IN_FUNCTION'
,
[
r'StaticAssertTypeEq.*const int.*int'
]),
(
'SANITY'
,
None
)
]
# TODO(wan@google.com): verify that the test specs are satisfied.
if
__name__
==
'__main__'
:
unittest
.
main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment