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:
Kacper Kasper
2026-01-17 21:27:09 +00:00
parent 6e452cc1ea
commit 348941b087
4 changed files with 35 additions and 25 deletions
+20 -10
View File
@@ -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 ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot model ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot model ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot server ] ; 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 ] ; SubDirHdrs [ FDirName $(HAIKU_TOP) src apps haikudepot util ] ;
UsePrivateHeaders interface netservices shared ; UsePrivateHeaders interface netservices shared ;
HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY = $(TARGET_COMMON_DEBUG_LOCATE_TARGET) ;
local sourceDirs = local sourceDirs =
model model
packagemodel packagemodel
server server
server/dumpexportrepository
util util
tar tar
textview textview
@@ -37,14 +37,18 @@ SEARCH_SOURCE += $(dumpExportRepositoryBulkListenerTargetDirectory) ;
SEARCH_SOURCE += $(dumpExportRepositoryModelTargetDirectory) ; SEARCH_SOURCE += $(dumpExportRepositoryModelTargetDirectory) ;
local generatedRepositoryModelSourceFiles = local generatedRepositoryModelSourceFiles =
<src!apps!haikudepot>DumpExportRepository.cpp DumpExportRepository.cpp
<src!apps!haikudepot>DumpExportRepositorySource.cpp DumpExportRepositorySource.cpp
<src!apps!haikudepot>DumpExportRepositorySourceMirror.cpp DumpExportRepositorySourceMirror.cpp
; ;
local generatedRepositoryParserSourceFiles = 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 dummyFile = "dummy.dat" ;
local dumpExportRepositoryBulkListenerTargetFile = local dumpExportRepositoryBulkListenerTargetFile =
@@ -52,15 +56,21 @@ local dumpExportRepositoryBulkListenerTargetFile =
local dumpExportRepositoryModelTargetFile = local dumpExportRepositoryModelTargetFile =
[ FDirName $(dumpExportRepositoryModelTargetDirectory) $(dummyFile) ] ; [ FDirName $(dumpExportRepositoryModelTargetDirectory) $(dummyFile) ] ;
HdsSchemaGenModel $(dumpExportRepositoryModelTargetFile)
: dumpexportrepository.json : jsonschema2cppmodel.py ;
HdsSchemaGenBulkParser $(dumpExportRepositoryBulkListenerTargetFile)
: dumpexportrepository.json : jsonschema2cppparser.py ;
HdsSchemaGenAppSrcDependsOnGeneration HdsSchemaGenAppSrcDependsOnGeneration
$(generatedRepositoryParserSourceFiles) [ FGristFiles $(generatedRepositoryParserSourceFiles) ]
$(generatedRepositoryParserSourceFiles:S=.h) [ FGristFiles $(generatedRepositoryParserSourceFiles:S=.h) ]
: $(dumpExportRepositoryBulkListenerTargetDirectory) : $(dumpExportRepositoryBulkListenerTargetDirectory)
: $(dumpExportRepositoryBulkListenerTargetFile) ; : $(dumpExportRepositoryBulkListenerTargetFile) ;
HdsSchemaGenAppSrcDependsOnGeneration HdsSchemaGenAppSrcDependsOnGeneration
$(generatedRepositoryModelSourceFiles) [ FGristFiles $(generatedRepositoryModelSourceFiles) ]
$(generatedRepositoryModelSourceFiles:S=.h) [ FGristFiles $(generatedRepositoryModelSourceFiles:S=.h) ]
: $(dumpExportRepositoryModelTargetDirectory) : $(dumpExportRepositoryModelTargetDirectory)
: $(dumpExportRepositoryModelTargetFile) ; : $(dumpExportRepositoryModelTargetFile) ;
@@ -288,7 +288,7 @@ HttpProtocolTest::HttpRequestTest()
// Basic test // Basic test
BHttpRequest request; BHttpRequest request;
CPPUNIT_ASSERT(request.IsEmpty()); CPPUNIT_ASSERT(request.IsEmpty());
auto url = BUrl("https://www.haiku-os.org"); auto url = BUrl("https://www.haiku-os.org", true);
request.SetUrl(url); request.SetUrl(url);
CPPUNIT_ASSERT(request.Url() == url); CPPUNIT_ASSERT(request.Url() == url);
@@ -490,7 +490,7 @@ HttpIntegrationTest::HostAndNetworkFailTest()
{ {
// Test hostname resolution fail // Test hostname resolution fail
{ {
auto request = BHttpRequest(BUrl("http://doesnotexist/")); auto request = BHttpRequest(BUrl("http://doesnotexist/", true));
auto result = fSession.Execute(std::move(request)); auto result = fSession.Execute(std::move(request));
try { try {
result.Status(); result.Status();
@@ -503,7 +503,7 @@ HttpIntegrationTest::HostAndNetworkFailTest()
// Test connection error fail // Test connection error fail
{ {
// FIXME: find a better way to get an unused local port, instead of hardcoding one // 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); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
try { try {
result.Status(); result.Status();
@@ -536,7 +536,7 @@ constexpr std::string_view kExpectedGetBody = {"Path: /\r\n"
void void
HttpIntegrationTest::GetTest() HttpIntegrationTest::GetTest()
{ {
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/")); auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/")));
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
try { try {
auto receivedFields = result.Fields(); auto receivedFields = result.Fields();
@@ -562,7 +562,7 @@ HttpIntegrationTest::GetTest()
void void
HttpIntegrationTest::GetWithBufferTest() HttpIntegrationTest::GetWithBufferTest()
{ {
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/")); auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/")));
auto body = make_exclusive_borrow<BMallocIO>(); auto body = make_exclusive_borrow<BMallocIO>();
auto result = fSession.Execute(std::move(request), BBorrow<BDataIO>(body), fLoggerMessenger); auto result = fSession.Execute(std::move(request), BBorrow<BDataIO>(body), fLoggerMessenger);
try { try {
@@ -579,7 +579,7 @@ HttpIntegrationTest::GetWithBufferTest()
void void
HttpIntegrationTest::HeadTest() HttpIntegrationTest::HeadTest()
{ {
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/")); auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/")));
request.SetMethod(BHttpMethod::Head); request.SetMethod(BHttpMethod::Head);
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
try { try {
@@ -610,7 +610,7 @@ static const BHttpFields kExpectedNoContentFields = {
void void
HttpIntegrationTest::NoContentTest() 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); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
try { try {
auto receivedStatus = result.Status(); auto receivedStatus = result.Status();
@@ -637,7 +637,7 @@ HttpIntegrationTest::NoContentTest()
void void
HttpIntegrationTest::AutoRedirectTest() 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); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
try { try {
auto receivedFields = result.Fields(); auto receivedFields = result.Fields();
@@ -664,14 +664,14 @@ void
HttpIntegrationTest::BasicAuthTest() HttpIntegrationTest::BasicAuthTest()
{ {
// Basic Authentication // 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"}); request.SetAuthentication({"walter", "secret"});
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
CPPUNIT_ASSERT(result.Status().code == 200); CPPUNIT_ASSERT(result.Status().code == 200);
// Basic Authentication with incorrect credentials // Basic Authentication with incorrect credentials
try { try {
request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/auth/basic/walter/secret")); request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/auth/basic/walter/secret")));
request.SetAuthentication({"invaliduser", "invalidpassword"}); request.SetAuthentication({"invaliduser", "invalidpassword"});
result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger); result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
CPPUNIT_ASSERT(result.Status().code == 401); CPPUNIT_ASSERT(result.Status().code == 401);
@@ -685,7 +685,7 @@ void
HttpIntegrationTest::StopOnErrorTest() HttpIntegrationTest::StopOnErrorTest()
{ {
// Test the Stop on Error functionality // Test the Stop on Error functionality
auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), "/400")); auto request = BHttpRequest(BUrl(fTestServer.BaseUrl(), BString("/400")));
request.SetStopOnError(true); request.SetStopOnError(true);
auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
CPPUNIT_ASSERT(result.Status().code == 400); 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 // 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 // processed. In practise, the cancellation always comes first. When the server
// supports a wait parameter, then this test can be made more robust. // 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); auto result = fSession.Execute(std::move(request), nullptr, fLoggerMessenger);
fSession.Cancel(result); fSession.Cancel(result);
try { try {
@@ -763,7 +763,7 @@ HttpIntegrationTest::PostTest()
auto postBody = std::make_unique<BMallocIO>(); auto postBody = std::make_unique<BMallocIO>();
postBody->Write(kPostText.String(), kPostText.Length()); postBody->Write(kPostText.String(), kPostText.Length());
postBody->Seek(0, SEEK_SET); 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.SetMethod(BHttpMethod::Post);
request.SetRequestBody(std::move(postBody), "text/plain", kPostText.Length()); 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 port_string = to_string(fPort.Port());
std::string baseUrl = scheme + "127.0.0.1:" + port_string + "/"; std::string baseUrl = scheme + "127.0.0.1:" + port_string + "/";
return BUrl(baseUrl.c_str()); return BUrl(baseUrl.c_str(), true);
} }
+1 -1
View File
@@ -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 cache ;
SubInclude HAIKU_TOP src tests system kernel fs ; 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 device_manager ;
SubInclude HAIKU_TOP src tests system kernel file_corruption ; SubInclude HAIKU_TOP src tests system kernel file_corruption ;
SubInclude HAIKU_TOP src tests system kernel scheduler ; SubInclude HAIKU_TOP src tests system kernel scheduler ;