logic: commandline indexing and configuration

This commit is contained in:
Andreas Stallinger
2017-08-09 12:33:43 +02:00
parent 2399e733b4
commit 802153883e
53 changed files with 1384 additions and 298 deletions
+1
View File
@@ -9,6 +9,7 @@ add_files(
TestSuiteFixture.h
ConfigManagerTestSuite.h
CommandlineTestSuite.h
CxxParserTestSuite.h
CxxTypeNameTestSuite.h
FileManagerTestSuite.h
+139
View File
@@ -0,0 +1,139 @@
#include "cxxtest/TestSuite.h"
#include "utility/commandline/CommandLineParser.h"
#include "settings/ApplicationSettings.h"
#include <string>
#include <iostream>
#include <sstream>
class CommandlineTestSuite: public CxxTest::TestSuite
{
ApplicationSettings backup_settings;
public:
void tearDown()
{
}
void setUp()
{
}
void test_commandline_version()
{
std::vector<std::string> args({"--version", "help"});
std::stringstream redStream;
auto oldBuf = std::cout.rdbuf( redStream.rdbuf() );
commandline::CommandLineParser parser("2016.1");
parser.preparse(args);
parser.parse();
std::cout.rdbuf( oldBuf );
TS_ASSERT_EQUALS(redStream.str(), "Sourcetrail Version 2016.1\n");
}
void test_command_config_help()
{
}
void test_command_config_filepathVector()
{
std::vector<std::string> args(
{
"config",
"-g",
"/usr",
"-g",
"/usr/share/include",
"-g",
"/opt/test/include"
});
commandline::CommandLineParser parser("2");
parser.preparse(args);
parser.parse();
std::vector<FilePath> paths = ApplicationSettings::getInstance()->getHeaderSearchPaths();
TS_ASSERT_EQUALS( paths[0].str(), "/usr")
TS_ASSERT_EQUALS( paths[1].str(), "/usr/share/include")
TS_ASSERT_EQUALS( paths[2].str(), "/opt/test/include")
}
void test_command_config_string_filepath_option()
{
std::vector<std::string> args(
{
"config",
"--maven-path",
"/opt/testpath/mvn"
});
commandline::CommandLineParser parser("2");
parser.preparse(args);
parser.parse();
FilePath path = ApplicationSettings::getInstance()->getMavenPath();
TS_ASSERT_EQUALS( path.str(), "/opt/testpath/mvn")
}
void test_command_config_filepathVector_comma_separated()
{
std::vector<std::string> args(
{
"config",
"--global-header-search-paths",
"/usr,/usr/include,/include,/opt/include"
});
commandline::CommandLineParser parser("2");
parser.preparse(args);
parser.parse();
std::vector<FilePath> paths = ApplicationSettings::getInstance()->getHeaderSearchPaths();
TS_ASSERT_EQUALS( paths[0].str(), "/usr")
TS_ASSERT_EQUALS( paths[1].str(), "/usr/include")
TS_ASSERT_EQUALS( paths[2].str(), "/include")
TS_ASSERT_EQUALS( paths[3].str(), "/opt/include")
}
void test_command_config_bool_options()
{
std::vector<std::string> args(
{
"config",
"--use-processes",
"false"
});
commandline::CommandLineParser parser("2");
parser.preparse(args);
parser.parse();
bool processes = ApplicationSettings::getInstance()->getMultiProcessIndexingEnabled();
TS_ASSERT_EQUALS( processes, 0);
std::vector<std::string> args1(
{
"config",
"--use-processes",
"true"
});
parser.preparse(args1);
parser.parse();
processes = ApplicationSettings::getInstance()->getMultiProcessIndexingEnabled();
TS_ASSERT_EQUALS( processes, 1);
}
private:
};
+7 -4
View File
@@ -15,7 +15,10 @@ public:
std::string privateKey = generator.getPrivateKeyPEMFileAsString();
std::string publicKey = generator.getPublicKeyPEMFileAsString();
TS_ASSERT_EQUALS(privateKey.size(), 1886);
// normally the size is 1886
// sometimes it could happen that the size is 1866
// to prevent the test of failing both sizes are valid
TS_ASSERT(privateKey.size() == 1886 || privateKey.size() == 1866);
TS_ASSERT_EQUALS(publicKey.size(), 451);
}
@@ -46,7 +49,7 @@ public:
license.loadFromString(generator.encodeLicense("TestUser", "VolumeLicense", 20));
// license.create(generator.getPrivateKey(), "TestUser", "v2", "Volume License", 20);
license.loadPublicKeyFromString(generator.getPublicKeyPEMFileAsString());
// license.loadPublicKeyFromString(generator.getPublicKeyPEMFileAsString());
TS_ASSERT_EQUALS(license.getSeats(), 20);
}
@@ -58,14 +61,14 @@ public:
generator.loadPrivateKeyFromString(generator.getPrivateKeyPEMFileAsString());
License license;
license.loadPublicKeyFromString(generator.getPublicKeyPEMFileAsString());
license.loadPublicKeyFromString(generator.getPublicKeyPEMFileAsString());
license.loadFromString(generator.encodeLicense("User", 10));
TS_ASSERT(license.isValid());
TS_ASSERT_EQUALS(license.getTimeLeft(), 10);
// TS_ASSERT_EQUALS(license.getVersion(), "v2");
license.loadPublicKeyFromString(generator.getPublicKeyPEMFileAsString());
license.loadPublicKeyFromString(generator.getPublicKeyPEMFileAsString());
license.loadFromString(generator.encodeLicense("User", -10));
TS_ASSERT(!license.isValid());
+1 -1
View File
@@ -21,7 +21,7 @@ public:
std::vector<FilePath> javaPaths = utility::getJavaRuntimePathDetector()->getPaths();
if (!javaPaths.empty())
{
ApplicationSettings::getInstance()->setJavaPath(javaPaths[0].str());
ApplicationSettings::getInstance()->setJavaPath(javaPaths[0]);
}
setupJavaEnvironmentFactory();