Fix HaikuDepot file generation for tests
* Fix netservice2 test suite compilation. * Disable kernel test suites that fail to compile. Change-Id: I18e9ba055bff3d3fee71686cf9e174587f819af3 Reviewed-on: https://review.haiku-os.org/c/haiku/+/10235 Tested-by: Commit checker robot <[email protected]> Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
@@ -7,16 +7,16 @@ include [ FDirName $(HAIKU_TOP) src apps haikudepot build jam HdsSchemaGenRules
|
||||
SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot ] ;
|
||||
SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot model ] ;
|
||||
SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot server ] ;
|
||||
SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot server dumpexportrepository ] ;
|
||||
SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot util ] ;
|
||||
|
||||
UsePrivateHeaders interface netservices shared ;
|
||||
|
||||
HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY = $(TARGET_COMMON_DEBUG_LOCATE_TARGET) ;
|
||||
|
||||
local sourceDirs =
|
||||
model
|
||||
packagemodel
|
||||
server
|
||||
server/dumpexportrepository
|
||||
util
|
||||
tar
|
||||
textview
|
||||
@@ -37,14 +37,18 @@ SEARCH_SOURCE += $(dumpExportRepositoryBulkListenerTargetDirectory) ;
|
||||
SEARCH_SOURCE += $(dumpExportRepositoryModelTargetDirectory) ;
|
||||
|
||||
local generatedRepositoryModelSourceFiles =
|
||||
<src!apps!haikudepot>DumpExportRepository.cpp
|
||||
<src!apps!haikudepot>DumpExportRepositorySource.cpp
|
||||
<src!apps!haikudepot>DumpExportRepositorySourceMirror.cpp
|
||||
DumpExportRepository.cpp
|
||||
DumpExportRepositorySource.cpp
|
||||
DumpExportRepositorySourceMirror.cpp
|
||||
;
|
||||
local generatedRepositoryParserSourceFiles =
|
||||
<src!apps!haikudepot>DumpExportRepositoryJsonListener.cpp
|
||||
DumpExportRepositoryJsonListener.cpp
|
||||
;
|
||||
|
||||
LOCATE on dumpexportrepository.json = [ FDirName $(HAIKU_TOP) src apps haikudepot server schema ] ;
|
||||
LOCATE on jsonschema2cppmodel.py = [ FDirName $(HAIKU_TOP) src apps haikudepot build scripts ] ;
|
||||
LOCATE on jsonschema2cppparser.py = [ FDirName $(HAIKU_TOP) src apps haikudepot build scripts ] ;
|
||||
|
||||
local dummyFile = "dummy.dat" ;
|
||||
|
||||
local dumpExportRepositoryBulkListenerTargetFile =
|
||||
@@ -52,15 +56,21 @@ local dumpExportRepositoryBulkListenerTargetFile =
|
||||
local dumpExportRepositoryModelTargetFile =
|
||||
[ FDirName $(dumpExportRepositoryModelTargetDirectory) $(dummyFile) ] ;
|
||||
|
||||
HdsSchemaGenModel $(dumpExportRepositoryModelTargetFile)
|
||||
: dumpexportrepository.json : jsonschema2cppmodel.py ;
|
||||
|
||||
HdsSchemaGenBulkParser $(dumpExportRepositoryBulkListenerTargetFile)
|
||||
: dumpexportrepository.json : jsonschema2cppparser.py ;
|
||||
|
||||
HdsSchemaGenAppSrcDependsOnGeneration
|
||||
$(generatedRepositoryParserSourceFiles)
|
||||
$(generatedRepositoryParserSourceFiles:S=.h)
|
||||
[ FGristFiles $(generatedRepositoryParserSourceFiles) ]
|
||||
[ FGristFiles $(generatedRepositoryParserSourceFiles:S=.h) ]
|
||||
: $(dumpExportRepositoryBulkListenerTargetDirectory)
|
||||
: $(dumpExportRepositoryBulkListenerTargetFile) ;
|
||||
|
||||
HdsSchemaGenAppSrcDependsOnGeneration
|
||||
$(generatedRepositoryModelSourceFiles)
|
||||
$(generatedRepositoryModelSourceFiles:S=.h)
|
||||
[ FGristFiles $(generatedRepositoryModelSourceFiles) ]
|
||||
[ FGristFiles $(generatedRepositoryModelSourceFiles:S=.h) ]
|
||||
: $(dumpExportRepositoryModelTargetDirectory)
|
||||
: $(dumpExportRepositoryModelTargetFile) ;
|
||||
|
||||
|
||||
@@ -288,7 +288,7 @@ HttpProtocolTest::HttpRequestTest()
|
||||
// Basic test
|
||||
BHttpRequest request;
|
||||
CPPUNIT_ASSERT(request.IsEmpty());
|
||||
auto url = BUrl("https://www.haiku-os.org");
|
||||
auto url = BUrl("https://www.haiku-os.org", true);
|
||||
request.SetUrl(url);
|
||||
CPPUNIT_ASSERT(request.Url() == url);
|
||||
|
||||
@@ -490,7 +490,7 @@ HttpIntegrationTest::HostAndNetworkFailTest()
|
||||
{
|
||||
// Test hostname resolution fail
|
||||
{
|
||||
auto request = BHttpRequest(BUrl("http://doesnotexist/"));
|
||||
auto request = BHttpRequest(BUrl("http://doesnotexist/", true));
|
||||
auto result = fSession.Execute(std::move(request));
|
||||
try {
|
||||
result.Status();
|
||||
@@ -503,7 +503,7 @@ HttpIntegrationTest::HostAndNetworkFailTest()
|
||||
// Test connection error fail
|
||||
{
|
||||
// FIXME: find a better way to get an unused local port, instead of hardcoding one
|
||||
auto request = BHttpRequest(BUrl("http://localhost:59445/"));
|
||||
auto request = BHttpRequest(BUrl("http://localhost:59445/", true));
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
try {
|
||||
result.Status();
|
||||
@@ -536,7 +536,7 @@ constexpr std::string_view kExpectedGetBody = {"Path: /\r\n"
|
||||
void
|
||||
HttpIntegrationTest::GetTest()
|
||||
{
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/")));
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
try {
|
||||
auto receivedFields = result.Fields();
|
||||
@@ -562,7 +562,7 @@ HttpIntegrationTest::GetTest()
|
||||
void
|
||||
HttpIntegrationTest::GetWithBufferTest()
|
||||
{
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/")));
|
||||
auto body = make_exclusive_borrow<BMallocIO>();
|
||||
auto result = fSession.Execute(std::move(request), BBorrow<BDataIO>(body), fLoggerMessenger);
|
||||
try {
|
||||
@@ -579,7 +579,7 @@ HttpIntegrationTest::GetWithBufferTest()
|
||||
void
|
||||
HttpIntegrationTest::HeadTest()
|
||||
{
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/")));
|
||||
request.SetMethod(BHttpMethod::Head);
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
try {
|
||||
@@ -610,7 +610,7 @@ static const BHttpFields kExpectedNoContentFields = {
|
||||
void
|
||||
HttpIntegrationTest::NoContentTest()
|
||||
{
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/204"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/204")));
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
try {
|
||||
auto receivedStatus = result.Status();
|
||||
@@ -637,7 +637,7 @@ HttpIntegrationTest::NoContentTest()
|
||||
void
|
||||
HttpIntegrationTest::AutoRedirectTest()
|
||||
{
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/302"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/302")));
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
try {
|
||||
auto receivedFields = result.Fields();
|
||||
@@ -664,14 +664,14 @@ void
|
||||
HttpIntegrationTest::BasicAuthTest()
|
||||
{
|
||||
// Basic Authentication
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/auth/basic/walter/secret"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/auth/basic/walter/secret")));
|
||||
request.SetAuthentication({"walter", "secret"});
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
CPPUNIT_ASSERT(result.Status().code == 200);
|
||||
|
||||
// Basic Authentication with incorrect credentials
|
||||
try {
|
||||
request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/auth/basic/walter/secret"));
|
||||
request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/auth/basic/walter/secret")));
|
||||
request.SetAuthentication({"invaliduser", "invalidpassword"});
|
||||
result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
CPPUNIT_ASSERT(result.Status().code == 401);
|
||||
@@ -685,7 +685,7 @@ void
|
||||
HttpIntegrationTest::StopOnErrorTest()
|
||||
{
|
||||
// Test the Stop on Error functionality
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/400"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/400")));
|
||||
request.SetStopOnError(true);
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
CPPUNIT_ASSERT(result.Status().code == 400);
|
||||
@@ -701,7 +701,7 @@ HttpIntegrationTest::RequestCancelTest()
|
||||
// TODO: this test potentially fails if the case is executed before the cancellation is
|
||||
// processed. In practise, the cancellation always comes first. When the server
|
||||
// supports a wait parameter, then this test can be made more robust.
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/")));
|
||||
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
|
||||
fSession.Cancel(result);
|
||||
try {
|
||||
@@ -763,7 +763,7 @@ HttpIntegrationTest::PostTest()
|
||||
auto postBody = std::make_unique<BMallocIO>();
|
||||
postBody->Write(kPostText.String(), kPostText.Length());
|
||||
postBody->Seek(0, SEEK_SET);
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/post"));
|
||||
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/post")));
|
||||
request.SetMethod(BHttpMethod::Post);
|
||||
request.SetRequestBody(std::move(postBody), "text/plain", kPostText.Length());
|
||||
|
||||
|
||||
@@ -266,7 +266,7 @@ TestServer::BaseUrl() const
|
||||
std::string port_string = to_string(fPort.Port());
|
||||
|
||||
std::string baseUrl = scheme + "127.0.0.1:" + port_string + "/";
|
||||
return BUrl(baseUrl.c_str());
|
||||
return BUrl(baseUrl.c_str(), true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ SimpleTest sigsuspend_test : sigsuspend_test.cpp ;
|
||||
|
||||
SubInclude HAIKU_TOP src tests system kernel cache ;
|
||||
SubInclude HAIKU_TOP src tests system kernel fs ;
|
||||
SubInclude HAIKU_TOP src tests system kernel disk_device_manager ;
|
||||
# SubInclude HAIKU_TOP src tests system kernel disk_device_manager ; # fails to link
|
||||
SubInclude HAIKU_TOP src tests system kernel device_manager ;
|
||||
SubInclude HAIKU_TOP src tests system kernel file_corruption ;
|
||||
SubInclude HAIKU_TOP src tests system kernel scheduler ;
|
||||
|
||||
Reference in New Issue
Block a user