test: added test for fetching dependencies from gradle config (#897)

This commit is contained in:
Malte Langkabel
2020-01-20 11:47:26 +01:00
committed by GitHub
parent 00137a2b7f
commit 719591a247
3 changed files with 97 additions and 39 deletions
+4 -2
View File
@@ -74,8 +74,10 @@ std::vector<FilePath> gradleGetAllSourceDirectories(
L"The following error occurred while executing a Gradle command:\n\n" +
utility::decodeFromUtf8(utility::replace(output, "\r\n", "\n"));
MessageStatus(dialogMessage, true, false).dispatch();
Application::getInstance()->handleDialog(dialogMessage);
if (Application::getInstance())
{
Application::getInstance()->handleDialog(dialogMessage);
}
return std::vector<FilePath>();
}
+1 -1
View File
@@ -37,7 +37,7 @@ add_files(
StorageTestSuite.cpp
TaskSchedulerTestSuite.cpp
TextAccessTestSuite.cpp
# UtilityGradleTestSuite.cpp
UtilityGradleTestSuite.cpp
UtilityMavenTestSuite.cpp
UtilityStringTestSuite.cpp
UtilityTestSuite.cpp
+92 -36
View File
@@ -3,39 +3,95 @@
#include "language_packages.h"
#if BUILD_JAVA_LANGUAGE_PACKAGE
//# ifdef WIN32
//
//# include "FilePath.h"
//# include "utility.h"
//# include "utilityGradle.h"
//
// TEST_CASE("gradle wrapper detects source directories of simple projects")
//{
// std::vector<FilePath> result = utility::gradleGetAllSourceDirectories(
// FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project"), false);
//
// REQUIRE(utility::containsElement<FilePath>(
// result,
// FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/main/java").makeAbsolute()));
//
// REQUIRE(!utility::containsElement<FilePath>(
// result,
// FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/test/java").makeAbsolute()));
//}
//
// TEST_CASE("gradle wrapper detects source and test directories of simple projects")
//{
// std::vector<FilePath> result = utility::gradleGetAllSourceDirectories(
// FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project"), true);
//
// REQUIRE(utility::containsElement<FilePath>(
// result,
// FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/main/java").makeAbsolute()));
//
// REQUIRE(utility::containsElement<FilePath>(
// result,
// FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/test/java").makeAbsolute()));
//}
//
//# endif // WIN32
#endif // BUILD_JAVA_LANGUAGE_PACKAGE
# ifdef WIN32
# include "FilePath.h"
# include "FileSystem.h"
# include "utility.h"
# include "utilityGradle.h"
FilePath tmpFolder = FilePath(L"data/UtilityGradleTestSuite/tmp");
void cleanup()
{
if (tmpFolder.recheckExists())
{
for (const FilePath& path: FileSystem::getFilePathsFromDirectory(tmpFolder))
{
FileSystem::remove(path);
}
FileSystem::remove(tmpFolder);
}
}
TEST_CASE("gradle wrapper detects source directories of simple projects")
{
std::vector<FilePath> result = utility::gradleGetAllSourceDirectories(
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project"), false);
REQUIRE(utility::containsElement<FilePath>(
result,
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/main/java").makeAbsolute()));
REQUIRE(!utility::containsElement<FilePath>(
result,
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/test/java").makeAbsolute()));
}
TEST_CASE("gradle wrapper detects source and test directories of simple projects")
{
std::vector<FilePath> result = utility::gradleGetAllSourceDirectories(
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project"), true);
REQUIRE(utility::containsElement<FilePath>(
result,
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/main/java").makeAbsolute()));
REQUIRE(utility::containsElement<FilePath>(
result,
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project/src/test/java").makeAbsolute()));
}
TEST_CASE("gradle wrapper detects source dependencies of simple projects")
{
std::vector<std::wstring> requiredDependencies = {L"joda-time-2.2.jar"};
cleanup();
REQUIRE(utility::gradleCopyDependencies(
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project"),
tmpFolder.makeAbsolute(),
false));
const std::vector<FilePath> copiedDependencies = FileSystem::getFilePathsFromDirectory(tmpFolder);
for (const std::wstring requiredDependency: requiredDependencies)
{
REQUIRE(utility::containsElement(
copiedDependencies, tmpFolder.getConcatenated(requiredDependency)));
}
cleanup();
}
TEST_CASE("gradle wrapper detects source and test dependencies of simple projects")
{
std::vector<std::wstring> requiredDependencies = {
L"joda-time-2.2.jar", L"hamcrest-core-1.3.jar", L"junit-4.12.jar"};
cleanup();
REQUIRE(utility::gradleCopyDependencies(
FilePath(L"data/UtilityGradleTestSuite/simple_gradle_project"),
tmpFolder.makeAbsolute(),
true));
const std::vector<FilePath> copiedDependencies = FileSystem::getFilePathsFromDirectory(tmpFolder);
for (const std::wstring requiredDependency: requiredDependencies)
{
REQUIRE(utility::containsElement(
copiedDependencies, tmpFolder.getConcatenated(requiredDependency)));
}
cleanup();
}
# endif // WIN32
#endif // BUILD_JAVA_LANGUAGE_PACKAGE