backend-infra-engineer: Release v0.3.9-hotfix7 snapshot

This commit is contained in:
scawful
2025-11-23 13:37:10 -05:00
parent c8289bffda
commit 2934c82b75
202 changed files with 34914 additions and 845 deletions

View File

@@ -16,9 +16,9 @@ namespace zelda3 {
class DungeonEditorSystemIntegrationTest : public ::testing::Test {
protected:
void SetUp() override {
// Skip tests on Linux for automated github builds
// Skip on Linux CI - requires ROM file and graphics context
#if defined(__linux__)
GTEST_SKIP();
GTEST_SKIP() << "Dungeon editor tests require ROM file (unavailable on Linux CI)";
#endif
// Use the real ROM from build directory

View File

@@ -133,9 +133,9 @@ TEST_F(DungeonObjectRenderingTests, PreviewBufferRendersContent) {
auto& bitmap = preview_bg.bitmap();
EXPECT_TRUE(bitmap.is_active());
const auto& data = bitmap.data();
const auto data = bitmap.data();
size_t non_zero = 0;
for (size_t i = 0; i < data.size(); i += 16) {
for (size_t i = 0; i < bitmap.size(); i += 16) {
if (data[i] != 0) {
non_zero++;
}

View File

@@ -1,6 +1,30 @@
/**
* @file dungeon_rendering_test.cc
* @brief Integration tests for dungeon rendering with mock ROM data
*
* ============================================================================
* DEPRECATED - DO NOT USE - November 2025
* ============================================================================
*
* This file is DEPRECATED and excluded from the build. It duplicates coverage
* already provided by dungeon_object_rendering_tests.cc but uses mock ROM data
* instead of the proper TestRomManager fixture.
*
* REPLACEMENT:
* - Use test/integration/zelda3/dungeon_object_rendering_tests.cc instead
*
* The replacement file provides:
* - Same test scenarios (basic drawing, multi-layer, boundaries, error handling)
* - Proper TestRomManager::BoundRomTest fixture for ROM access
* - Cleaner test organization following project standards
*
* This file is kept for reference only.
* ============================================================================
*/
#include "absl/status/status.h"
#include "app/gfx/background_buffer.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/render/background_buffer.h"
#include "app/gfx/types/snes_palette.h"
#include "app/rom.h"
#include "gtest/gtest.h"
#include "zelda3/dungeon/object_drawer.h"

View File

@@ -10,12 +10,12 @@ namespace test {
class DungeonRoomTest : public ::testing::Test {
protected:
void SetUp() override {
// Skip tests on Linux for automated github builds
// Skip on Linux CI - requires ROM file
#if defined(__linux__)
GTEST_SKIP();
GTEST_SKIP() << "Dungeon room tests require ROM file (unavailable on Linux CI)";
#else
if (!rom_.LoadFromFile("./zelda3.sfc").ok()) {
GTEST_SKIP_("Failed to load test ROM");
GTEST_SKIP() << "Failed to load test ROM (zelda3.sfc)";
}
#endif
}

View File

@@ -28,7 +28,7 @@ class OverworldIntegrationTest : public ::testing::Test {
protected:
void SetUp() override {
#if defined(__linux__)
GTEST_SKIP();
GTEST_SKIP() << "Overworld integration tests require ROM (unavailable on Linux CI)";
#endif
// Check if we should use real ROM or mock data
@@ -339,8 +339,12 @@ TEST_F(OverworldIntegrationTest, ComprehensiveDataIntegrity) {
EXPECT_EQ(maps.size(), 160);
for (const auto& map : maps) {
// TODO: Find a way to compare
// EXPECT_TRUE(map.bitmap_data() != nullptr);
// NOTE: Bitmap validation requires graphics system initialization.
// OverworldMap::bitmap() returns a reference to an internal Bitmap object,
// but bitmap data is only populated after LoadAreaGraphics() is called
// with an initialized SDL/graphics context. For unit testing without
// graphics, we validate map structure properties instead.
EXPECT_GE(map.area_graphics(), 0);
}
// Verify tile types are loaded