unittest.cpp 1.34 KB
Newer Older
1 2 3
// Tencent is pleased to support the open source community by making RapidJSON available.
// 
// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
4
//
5 6
// Licensed under the MIT License (the "License"); you may not use this file except
// in compliance with the License. You may obtain a copy of the License at
7
//
8
// http://opensource.org/licenses/MIT
9
//
10 11 12 13
// Unless required by applicable law or agreed to in writing, software distributed 
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
// CONDITIONS OF ANY KIND, either express or implied. See the License for the 
// specific language governing permissions and limitations under the License.
14

15
#include "unittest.h"
16
#include "rapidjson/rapidjson.h"
17

Milo Yip's avatar
Milo Yip committed
18 19
AssertException::~AssertException() throw() {}

20
int main(int argc, char **argv) {
21 22
    ::testing::InitGoogleTest(&argc, argv);

23 24
    std::cout << "RapidJSON v" << RAPIDJSON_VERSION_STRING << std::endl;

Milo Yip's avatar
Milo Yip committed
25
#ifdef _MSC_VER
26 27 28
    _CrtMemState memoryState = { 0 };
    _CrtMemCheckpoint(&memoryState);
    //_CrtSetBreakAlloc(X);
29
    //void *testWhetherMemoryLeakDetectionWorks = malloc(1);
30
#endif
31 32 33

    int ret = RUN_ALL_TESTS();

Milo Yip's avatar
Milo Yip committed
34
#ifdef _MSC_VER
35 36 37 38
    // Current gtest constantly leak 2 blocks at exit
    _CrtMemDumpAllObjectsSince(&memoryState);
#endif
    return ret;
39
}