66 lines
2.2 KiB
C++
66 lines
2.2 KiB
C++
module;
|
|
|
|
export module lsp.test.provider.main;
|
|
|
|
import std;
|
|
|
|
import lsp.test.framework;
|
|
import lsp.test.provider.completion;
|
|
import lsp.test.provider.definitions;
|
|
import lsp.test.provider.interpreter;
|
|
import lsp.test.provider.json_flow;
|
|
import lsp.test.provider.json_provider_coverage;
|
|
import lsp.test.provider.misc;
|
|
import lsp.test.provider.surface;
|
|
import lsp.test.provider.fixtures;
|
|
|
|
export int Run(int argc, char** argv)
|
|
{
|
|
if (argc > 0 && argv && argv[0])
|
|
{
|
|
lsp::test::provider::SetExecutablePath(std::filesystem::absolute(argv[0]).string());
|
|
}
|
|
|
|
for (int i = 1; i < argc; ++i)
|
|
{
|
|
std::string_view arg(argv[i]);
|
|
|
|
if (arg == "--exit-provider")
|
|
{
|
|
return lsp::test::provider::RunExitProviderChild();
|
|
}
|
|
|
|
constexpr std::string_view kInterpreterPrefix = "--interpreter=";
|
|
if (arg.starts_with(kInterpreterPrefix))
|
|
{
|
|
lsp::test::provider::SetInterpreterPath(std::string(arg.substr(kInterpreterPrefix.size())));
|
|
}
|
|
}
|
|
|
|
lsp::test::TestRunner runner;
|
|
|
|
std::cout << "\n========================================" << std::endl;
|
|
std::cout << " LSP Provider Test Suite" << std::endl;
|
|
std::cout << "========================================\n"
|
|
<< std::endl;
|
|
|
|
std::cout << "Registering tests..." << std::endl;
|
|
std::cout << " - Completion tests" << std::endl;
|
|
lsp::test::provider::CompletionTests::Register(runner);
|
|
std::cout << " - Definition tests" << std::endl;
|
|
lsp::test::provider::DefinitionTests::Register(runner);
|
|
std::cout << " - Interpreter tests" << std::endl;
|
|
lsp::test::provider::InterpreterTests::Register(runner);
|
|
std::cout << " - JSON flow tests" << std::endl;
|
|
lsp::test::provider::JsonFlowTests::Register(runner);
|
|
std::cout << " - JSON provider coverage tests" << std::endl;
|
|
lsp::test::provider::JsonProviderCoverageTests::Register(runner);
|
|
std::cout << " - Other provider tests" << std::endl;
|
|
lsp::test::provider::ProviderMiscTests::Register(runner);
|
|
std::cout << " - Provider surface tests" << std::endl;
|
|
lsp::test::provider::ProviderSurfaceTests::Register(runner);
|
|
|
|
runner.runAllTests();
|
|
return runner.getFailedCount();
|
|
}
|