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 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);
}
+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 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 ;