Arquivos
hhvm/hphp/test/ext/test_cpp_base.h
T
Jordan DeLong 4d5f36126d Remove equalAsStr (perflab can't detect the optimization)
There is only a single call-site for all of this thing.  I
figured perflab could be the judge on whether to reimplement the usage
in a more reasonable way, or just delete it---looks like option 2 is
good.
2013-06-25 13:19:06 -07:00

66 linhas
2.6 KiB
C++

/*
+----------------------------------------------------------------------+
| HipHop for PHP |
+----------------------------------------------------------------------+
| Copyright (c) 2010-2013 Facebook, Inc. (http://www.facebook.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
*/
#ifndef incl_HPHP_TEST_CPP_BASE_H_
#define incl_HPHP_TEST_CPP_BASE_H_
#include "hphp/test/ext/test_base.h"
#include "hphp/util/base.h"
///////////////////////////////////////////////////////////////////////////////
/**
* Testing CPP core library coding. Main goal of this set of unit tests is to
* make sure runtime/base library has no memory problems while doing the right
* things. TestCppRun is good at making sure semantically correctness of these
* classes, but it's hard to run it under valgrind. This set of unit tests,
* in fact including all extension tests, are written in C++ code directly
* calling library functions, therefore we can easily run it under valgrind
* and other tools to detect any coding problems.
*/
class TestCppBase : public TestBase {
public:
TestCppBase();
virtual bool RunTests(const std::string &which);
// building blocks
bool TestSmartAllocator();
bool TestIpBlockMap();
/**
* Date types. This in turn tests StringData, ArrayData, String,
* ArrayIter, and other classes.
*
* Some of the classes are not tested here, including Object/ObjectData/
* SmartObject<T>. They are a lot more covered in TestCodeRun with better
* checking against PHP execution.
*
* Comparisons are not directly tested here, either, becuase TestCodeRun has
* a thorough list of comparisons and it's better to directly compare with
* PHP's results.
*/
bool TestString();
bool TestArray();
bool TestObject();
bool TestVariant();
bool TestListAssignment();
};
///////////////////////////////////////////////////////////////////////////////
#endif // incl_HPHP_TEST_CPP_BASE_H_