/src/mongo/dbtests/dbtests.cpp
https://github.com/tadmarshall/mongo · C++ · 59 lines · 32 code · 5 blank · 22 comment · 0 complexity · ff4f72e94bc22790a3a5c39ee9d69865 MD5 · raw file
- // #file dbtests.cpp : Runs db unit tests.
- //
- /**
- * Copyright (C) 2008 10gen Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- #include "mongo/pch.h"
- #include "mongo/base/initializer.h"
- #include "mongo/db/commands.h"
- #include "mongo/db/auth/authorization_manager.h"
- #include "mongo/db/auth/authorization_manager_global.h"
- #include "mongo/db/auth/authz_manager_external_state_mock.h"
- #include "mongo/dbtests/dbtests.h"
- #include "mongo/dbtests/framework.h"
- #include "mongo/util/exception_filter_win32.h"
- #include "mongo/util/startup_test.h"
- #include "mongo/util/text.h"
- int dbtestsMain( int argc, char** argv, char** envp ) {
- static StaticObserver StaticObserver;
- setWindowsUnhandledExceptionFilter();
- setGlobalAuthorizationManager(new AuthorizationManager(new AuthzManagerExternalStateMock()));
- Command::testCommandsEnabled = 1;
- mongo::runGlobalInitializersOrDie(argc, argv, envp);
- StartupTest::runTests();
- return mongo::dbtests::runDbTests( argc, argv, "/tmp/unittest" );
- }
- #if defined(_WIN32)
- // In Windows, wmain() is an alternate entry point for main(), and receives the same parameters
- // as main() but encoded in Windows Unicode (UTF-16); "wide" 16-bit wchar_t characters. The
- // WindowsCommandLine object converts these wide character strings to a UTF-8 coded equivalent
- // and makes them available through the argv() and envp() members. This enables dbtestsMain()
- // to process UTF-8 encoded arguments and environment variables without regard to platform.
- int wmain(int argc, wchar_t* argvW[], wchar_t* envpW[]) {
- WindowsCommandLine wcl(argc, argvW, envpW);
- int exitCode = dbtestsMain(argc, wcl.argv(), wcl.envp());
- ::_exit(exitCode);
- }
- #else
- int main(int argc, char* argv[], char** envp) {
- int exitCode = dbtestsMain(argc, argv, envp);
- ::_exit(exitCode);
- }
- #endif