forked from qt-creator/qt-creator
Wasm: Test windows and linux parsing simultaneously
Change-Id: I25e562258125157b07d1fc1a950b5207abbf5d69 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -146,10 +146,31 @@ void WebAssemblyEmSdk::clearCaches()
|
|||||||
// Unit tests:
|
// Unit tests:
|
||||||
#ifdef WITH_TESTS
|
#ifdef WITH_TESTS
|
||||||
void WebAssemblyPlugin::testEmSdkEnvParsing()
|
void WebAssemblyPlugin::testEmSdkEnvParsing()
|
||||||
|
{
|
||||||
|
QFETCH(QString, emSdkEnvOutput);
|
||||||
|
QFETCH(int, osType);
|
||||||
|
QFETCH(int, pathCount);
|
||||||
|
QFETCH(QString, emsdk);
|
||||||
|
QFETCH(QString, em_config);
|
||||||
|
|
||||||
|
Environment env{OsType(osType)};
|
||||||
|
parseEmSdkEnvOutputAndAddToEnv(emSdkEnvOutput, env);
|
||||||
|
|
||||||
|
QVERIFY(env.path().count() == pathCount);
|
||||||
|
QCOMPARE(env.value("EMSDK"), emsdk);
|
||||||
|
QCOMPARE(env.value("EM_CONFIG"), em_config);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WebAssemblyPlugin::testEmSdkEnvParsing_data()
|
||||||
{
|
{
|
||||||
// Output of "emsdk_env"
|
// Output of "emsdk_env"
|
||||||
const QString emSdkEnvOutput = QString::fromLatin1(HostOsInfo::isWindowsHost() ?
|
QTest::addColumn<QString>("emSdkEnvOutput");
|
||||||
R"(
|
QTest::addColumn<int>("osType");
|
||||||
|
QTest::addColumn<int>("pathCount");
|
||||||
|
QTest::addColumn<QString>("emsdk");
|
||||||
|
QTest::addColumn<QString>("em_config");
|
||||||
|
|
||||||
|
QTest::newRow("windows") << R"(
|
||||||
Adding directories to PATH:
|
Adding directories to PATH:
|
||||||
PATH += C:\Users\user\dev\emsdk
|
PATH += C:\Users\user\dev\emsdk
|
||||||
PATH += C:\Users\user\dev\emsdk\upstream\emscripten
|
PATH += C:\Users\user\dev\emsdk\upstream\emscripten
|
||||||
@@ -165,7 +186,9 @@ EM_CACHE = C:/Users/user/dev/emsdk/upstream/emscripten\cache
|
|||||||
EMSDK_NODE = C:\Users\user\dev\emsdk\node\12.18.1_64bit\bin\node.exe
|
EMSDK_NODE = C:\Users\user\dev\emsdk\node\12.18.1_64bit\bin\node.exe
|
||||||
EMSDK_PYTHON = C:\Users\user\dev\emsdk\python\3.7.4-pywin32_64bit\python.exe
|
EMSDK_PYTHON = C:\Users\user\dev\emsdk\python\3.7.4-pywin32_64bit\python.exe
|
||||||
JAVA_HOME = C:\Users\user\dev\emsdk\java\8.152_64bit
|
JAVA_HOME = C:\Users\user\dev\emsdk\java\8.152_64bit
|
||||||
)" : R"(
|
)" << int(OsTypeWindows) << 5 << "C:/Users/user/dev/emsdk" << "C:\\Users\\user\\dev\\emsdk\\.emscripten";
|
||||||
|
|
||||||
|
QTest::newRow("linux") << R"(
|
||||||
Adding directories to PATH:
|
Adding directories to PATH:
|
||||||
PATH += /home/user/dev/emsdk
|
PATH += /home/user/dev/emsdk
|
||||||
PATH += /home/user/dev/emsdk/upstream/emscripten
|
PATH += /home/user/dev/emsdk/upstream/emscripten
|
||||||
@@ -177,20 +200,9 @@ EMSDK = /home/user/dev/emsdk
|
|||||||
EM_CONFIG = /home/user/dev/emsdk/.emscripten
|
EM_CONFIG = /home/user/dev/emsdk/.emscripten
|
||||||
EM_CACHE = /home/user/dev/emsdk/upstream/emscripten/cache
|
EM_CACHE = /home/user/dev/emsdk/upstream/emscripten/cache
|
||||||
EMSDK_NODE = /home/user/dev/emsdk/node/12.18.1_64bit/bin/node
|
EMSDK_NODE = /home/user/dev/emsdk/node/12.18.1_64bit/bin/node
|
||||||
)");
|
)" << int(OsTypeLinux) << 3 << "/home/user/dev/emsdk" << "/home/user/dev/emsdk/.emscripten";
|
||||||
Environment env;
|
}
|
||||||
parseEmSdkEnvOutputAndAddToEnv(emSdkEnvOutput, env);
|
|
||||||
|
|
||||||
if (HostOsInfo::isWindowsHost()) {
|
|
||||||
QVERIFY(env.path().count() == 5);
|
|
||||||
QCOMPARE(env.value("EMSDK"), "C:/Users/user/dev/emsdk");
|
|
||||||
QCOMPARE(env.value("EM_CONFIG"), "C:\\Users\\user\\dev\\emsdk\\.emscripten");
|
|
||||||
} else {
|
|
||||||
QVERIFY(env.path().count() == 3);
|
|
||||||
QCOMPARE(env.value("EMSDK"), "/home/user/dev/emsdk");
|
|
||||||
QCOMPARE(env.value("EM_CONFIG"), "/home/user/dev/emsdk/.emscripten");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif // WITH_TESTS
|
#endif // WITH_TESTS
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ public:
|
|||||||
#ifdef WITH_TESTS
|
#ifdef WITH_TESTS
|
||||||
private slots:
|
private slots:
|
||||||
void testEmSdkEnvParsing();
|
void testEmSdkEnvParsing();
|
||||||
|
void testEmSdkEnvParsing_data();
|
||||||
#endif // WITH_TESTS
|
#endif // WITH_TESTS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user