mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-15 04:12:34 -06:00
feat: use cfg-based coverage exclusion to replace 'ignore-filename-regex' option, setup coveralls & nightly-based coverage
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
|
||||
#![cfg_attr(coverage_nightly, coverage(off))]
|
||||
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
use sdl2::event::Event;
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
|
||||
#![cfg_attr(coverage_nightly, coverage(off))]
|
||||
|
||||
use circular_buffer::CircularBuffer;
|
||||
use pacman::constants::CANVAS_SIZE;
|
||||
use sdl2::event::Event;
|
||||
|
||||
14
src/lib.rs
14
src/lib.rs
@@ -1,14 +1,22 @@
|
||||
//! Pac-Man game library crate.
|
||||
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
|
||||
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod app;
|
||||
pub mod asset;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod audio;
|
||||
pub mod constants;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod error;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod events;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod formatter;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod platform;
|
||||
|
||||
pub mod asset;
|
||||
pub mod constants;
|
||||
pub mod game;
|
||||
pub mod map;
|
||||
pub mod platform;
|
||||
pub mod systems;
|
||||
pub mod texture;
|
||||
|
||||
16
src/main.rs
16
src/main.rs
@@ -1,20 +1,27 @@
|
||||
// Note: This disables the console window on Windows. We manually re-attach to the parent terminal or process later on.
|
||||
#![windows_subsystem = "windows"]
|
||||
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
|
||||
|
||||
use crate::{app::App, constants::LOOP_TIME};
|
||||
use tracing::info;
|
||||
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
mod app;
|
||||
mod asset;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
mod audio;
|
||||
mod constants;
|
||||
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
mod error;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
mod events;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
mod formatter;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
mod platform;
|
||||
|
||||
mod asset;
|
||||
mod constants;
|
||||
mod game;
|
||||
mod map;
|
||||
mod platform;
|
||||
mod systems;
|
||||
mod texture;
|
||||
|
||||
@@ -22,6 +29,7 @@ mod texture;
|
||||
///
|
||||
/// This function initializes SDL, the window, the game state, and then enters
|
||||
/// the main game loop.
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub fn main() {
|
||||
// On Windows, this connects output streams to the console dynamically
|
||||
// On Emscripten, this connects the subscriber to the browser console
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
//! Debug rendering system
|
||||
use std::cmp::Ordering;
|
||||
|
||||
#[cfg_attr(coverage_nightly, feature(coverage_attribute))]
|
||||
use crate::constants::{self, BOARD_PIXEL_OFFSET};
|
||||
use crate::map::builder::Map;
|
||||
use crate::systems::{Collider, CursorPosition, NodeId, Position, SystemTimings};
|
||||
@@ -13,6 +12,7 @@ use sdl2::rect::{Point, Rect};
|
||||
use sdl2::render::{Canvas, Texture};
|
||||
use sdl2::video::Window;
|
||||
use smallvec::SmallVec;
|
||||
use std::cmp::Ordering;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use tracing::warn;
|
||||
|
||||
@@ -149,6 +149,7 @@ fn transform_position_with_offset(pos: Vec2, scale: f32) -> IVec2 {
|
||||
}
|
||||
|
||||
/// Renders timing information in the top-left corner of the screen using the debug text atlas
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
fn render_timing_display(
|
||||
canvas: &mut Canvas<Window>,
|
||||
timings: &SystemTimings,
|
||||
@@ -203,6 +204,7 @@ fn render_timing_display(
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub fn debug_render_system(
|
||||
canvas: &mut Canvas<Window>,
|
||||
ttf_atlas: &mut TtfAtlasResource,
|
||||
|
||||
@@ -3,17 +3,21 @@
|
||||
//! This module contains all the ECS-related logic, including components, systems,
|
||||
//! and resources.
|
||||
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod audio;
|
||||
pub mod blinking;
|
||||
pub mod collision;
|
||||
pub mod components;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod debug;
|
||||
pub mod ghost;
|
||||
pub mod input;
|
||||
pub mod item;
|
||||
pub mod movement;
|
||||
pub mod player;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod profiling;
|
||||
#[cfg_attr(coverage_nightly, coverage(off))]
|
||||
pub mod render;
|
||||
pub mod stage;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user