forked from Mirrorlandia_minetest/minetest
Unit tests must be done at integration process.
* Remove --enable-unittests and --disable-unittests and add --do-unittests function * --do-unittests function will exit 0 on success. * minetest and minetestserver binaries are launched with --do-unittests in travis build.
This commit is contained in:
parent
38e6280552
commit
b3aeba684b
@ -355,6 +355,10 @@ add_subdirectory(jthread)
|
|||||||
add_subdirectory(script)
|
add_subdirectory(script)
|
||||||
add_subdirectory(util)
|
add_subdirectory(util)
|
||||||
|
|
||||||
|
set (unittests_SRCS
|
||||||
|
test.cpp
|
||||||
|
)
|
||||||
|
|
||||||
set(common_SRCS
|
set(common_SRCS
|
||||||
ban.cpp
|
ban.cpp
|
||||||
base64.cpp
|
base64.cpp
|
||||||
@ -422,7 +426,6 @@ set(common_SRCS
|
|||||||
sound.cpp
|
sound.cpp
|
||||||
staticobject.cpp
|
staticobject.cpp
|
||||||
subgame.cpp
|
subgame.cpp
|
||||||
test.cpp
|
|
||||||
tool.cpp
|
tool.cpp
|
||||||
treegen.cpp
|
treegen.cpp
|
||||||
version.cpp
|
version.cpp
|
||||||
@ -435,6 +438,7 @@ set(common_SRCS
|
|||||||
${JTHREAD_SRCS}
|
${JTHREAD_SRCS}
|
||||||
${common_SCRIPT_SRCS}
|
${common_SCRIPT_SRCS}
|
||||||
${UTIL_SRCS}
|
${UTIL_SRCS}
|
||||||
|
${unittests_SRCS}
|
||||||
)
|
)
|
||||||
|
|
||||||
# This gives us the icon and file version information
|
# This gives us the icon and file version information
|
||||||
|
23
src/main.cpp
23
src/main.cpp
@ -17,19 +17,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef NDEBUG
|
|
||||||
/*#ifdef _WIN32
|
|
||||||
#pragma message ("Disabling unit tests")
|
|
||||||
#else
|
|
||||||
#warning "Disabling unit tests"
|
|
||||||
#endif*/
|
|
||||||
// Disable unit tests
|
|
||||||
#define ENABLE_TESTS 0
|
|
||||||
#else
|
|
||||||
// Enable unit tests
|
|
||||||
#define ENABLE_TESTS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#ifndef SERVER // Dedicated server isn't linked with Irrlicht
|
#ifndef SERVER // Dedicated server isn't linked with Irrlicht
|
||||||
#pragma comment(lib, "Irrlicht.lib")
|
#pragma comment(lib, "Irrlicht.lib")
|
||||||
@ -279,9 +266,9 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
#ifndef __ANDROID__
|
#ifndef __ANDROID__
|
||||||
// Run unit tests
|
// Run unit tests
|
||||||
if ((ENABLE_TESTS && cmd_args.getFlag("disable-unittests") == false)
|
if (cmd_args.getFlag("do-unittests")) {
|
||||||
|| cmd_args.getFlag("enable-unittests") == true) {
|
|
||||||
run_tests();
|
run_tests();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -352,10 +339,8 @@ static void set_allowed_options(OptionList *allowed_options)
|
|||||||
_("Load configuration from specified file"))));
|
_("Load configuration from specified file"))));
|
||||||
allowed_options->insert(std::make_pair("port", ValueSpec(VALUETYPE_STRING,
|
allowed_options->insert(std::make_pair("port", ValueSpec(VALUETYPE_STRING,
|
||||||
_("Set network port (UDP)"))));
|
_("Set network port (UDP)"))));
|
||||||
allowed_options->insert(std::make_pair("disable-unittests", ValueSpec(VALUETYPE_FLAG,
|
allowed_options->insert(std::make_pair("do-unittests", ValueSpec(VALUETYPE_FLAG,
|
||||||
_("Disable unit tests"))));
|
_("Run the unit tests and exit"))));
|
||||||
allowed_options->insert(std::make_pair("enable-unittests", ValueSpec(VALUETYPE_FLAG,
|
|
||||||
_("Enable unit tests"))));
|
|
||||||
allowed_options->insert(std::make_pair("map-dir", ValueSpec(VALUETYPE_STRING,
|
allowed_options->insert(std::make_pair("map-dir", ValueSpec(VALUETYPE_STRING,
|
||||||
_("Same as --world (deprecated)"))));
|
_("Same as --world (deprecated)"))));
|
||||||
allowed_options->insert(std::make_pair("world", ValueSpec(VALUETYPE_STRING,
|
allowed_options->insert(std::make_pair("world", ValueSpec(VALUETYPE_STRING,
|
||||||
|
14
src/test.cpp
14
src/test.cpp
@ -2132,9 +2132,9 @@ void run_tests()
|
|||||||
TEST(TestCollision);
|
TEST(TestCollision);
|
||||||
if(INTERNET_SIMULATOR == false){
|
if(INTERNET_SIMULATOR == false){
|
||||||
TEST(TestSocket);
|
TEST(TestSocket);
|
||||||
dout_con<<"=== BEGIN RUNNING UNIT TESTS FOR CONNECTION ==="<<std::endl;
|
dout_con << "=== BEGIN RUNNING UNIT TESTS FOR CONNECTION ===" << std::endl;
|
||||||
TEST(TestConnection);
|
TEST(TestConnection);
|
||||||
dout_con<<"=== END RUNNING UNIT TESTS FOR CONNECTION ==="<<std::endl;
|
dout_con << "=== END RUNNING UNIT TESTS FOR CONNECTION ===" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
log_set_lev_silence(LMT_ERROR, false);
|
log_set_lev_silence(LMT_ERROR, false);
|
||||||
@ -2142,13 +2142,13 @@ void run_tests()
|
|||||||
delete idef;
|
delete idef;
|
||||||
delete ndef;
|
delete ndef;
|
||||||
|
|
||||||
if(tests_failed == 0){
|
if(tests_failed == 0) {
|
||||||
infostream<<"run_tests(): "<<tests_failed<<" / "<<tests_run<<" tests failed."<<std::endl;
|
actionstream << "run_tests(): " << tests_failed << " / " << tests_run << " tests failed." << std::endl;
|
||||||
infostream<<"run_tests() passed."<<std::endl;
|
actionstream << "run_tests() passed." << std::endl;
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
errorstream<<"run_tests(): "<<tests_failed<<" / "<<tests_run<<" tests failed."<<std::endl;
|
errorstream << "run_tests(): " << tests_failed << " / " << tests_run << " tests failed." << std::endl;
|
||||||
errorstream<<"run_tests() aborting."<<std::endl;
|
errorstream << "run_tests() aborting." << std::endl;
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,12 @@
|
|||||||
if [ $WINDOWS = "no" ]; then
|
if [ $WINDOWS = "no" ]; then
|
||||||
mkdir -p travisbuild
|
mkdir -p travisbuild
|
||||||
cd travisbuild
|
cd travisbuild
|
||||||
cmake -DENABLE_GETTEXT=1 -DENABLE_LEVELDB=1 -DENABLE_REDIS=1 ..
|
cmake -DENABLE_GETTEXT=1 -DENABLE_LEVELDB=1 -DENABLE_REDIS=1 -DCMAKE_BUILD_TYPE=Debug ..
|
||||||
make -j2
|
make -j2
|
||||||
|
echo "Running unit tests for minetest"
|
||||||
|
../bin/minetest --do-unittests
|
||||||
|
echo "Running unit tests for minetestserver"
|
||||||
|
../bin/minetestserver --do-unittests
|
||||||
else
|
else
|
||||||
[ $CC = "clang" ] && exit 1 # Not supposed to happen
|
[ $CC = "clang" ] && exit 1 # Not supposed to happen
|
||||||
# We need to have our build directory outside of the minetest directory because
|
# We need to have our build directory outside of the minetest directory because
|
||||||
|
Loading…
Reference in New Issue
Block a user