Compare commits

..

22 Commits

Author SHA1 Message Date
Ryan Walters
5deccc54a7 ci: setup codecov coverage & badge 2025-09-05 22:41:49 -05:00
Ryan Walters
2455d9724b test: add ttf renderer tests 2025-09-05 21:22:40 -05:00
Ryan Walters
ac7c1b9ce1 test: remove useless/redundant tests 2025-09-05 21:13:53 -05:00
Ryan Walters
d68d76c854 test: improve input & map_builder test coverage 2025-09-05 21:13:48 -05:00
Ryan Walters
f1927cc67e test: general game testing 2025-09-05 20:04:07 -05:00
Ryan Walters
68ab4627d8 test: add asset tests, file exists & has min size 2025-09-05 19:53:56 -05:00
Ryan Walters
0d8d869580 test: blinking system tests 2025-09-05 19:46:52 -05:00
Ryan Walters
a31b85b5df refactor: use speculoos for all test assertions 2025-09-05 19:34:01 -05:00
Ryan Walters
21b08d4866 fix: remove unused BlinkingTexture 2025-09-05 19:32:22 -05:00
Ryan Walters
f075caaa17 refactor: add ticks to DeltaTime, rewrite Blinking system for tick-based calculations with absolute calculations, rewrite Blinking/Direction tests 2025-09-05 19:20:58 -05:00
Ryan Walters
9422168ffc feat: re-implement CustomFormatter to clone Full formatterr 2025-09-05 18:49:38 -05:00
Ryan Walters
35e557e298 feat: enhance profiling with tick-based timing management and zero-padding for skipped frames 2025-09-05 18:49:33 -05:00
Ryan Walters
e810419063 refactor: use welford's algorithm for one-pass avg/std dev. calculations, input logging tweaks 2025-09-05 15:32:06 -05:00
Ryan Walters
f7e7dee28f chore: move ttf context out of game.rs, remove unnecessary window event logging 2025-09-05 15:21:20 -05:00
Ryan Walters
4b0b8f4f2e refactor: reorganize game.rs new() into separate functions 2025-09-05 15:10:15 -05:00
Ryan Walters
03249c88a4 feat: sprite enums for avoiding hardcoded string paths 2025-09-05 15:08:38 -05:00
Ryan Walters
2d4f97e04b fix: use LARGE_SCALE for BatchedLineResource calculations 2025-09-05 14:22:16 -05:00
Ryan Walters
317fce796c feat: measure total system timings using threading indifferent method, padded formatting 2025-09-05 14:22:16 -05:00
Ryan Walters
9832abd131 chore: move BufferedWriter into tracing_buffer.rs 2025-09-05 13:58:59 -05:00
Ryan Walters
c94ebc6b4b feat: special formatting with game tick counter, remove date from tracing formatter 2025-09-05 13:52:19 -05:00
Ryan Walters
8b23c1c7bd fix(ci): allow dead code in buffered_writer & tracing_buffer for desktop non-windows checks 2025-09-04 16:15:11 -05:00
Ryan Walters
5e325a4691 feat: enumerate and display render driver info, increase node id text opacity 2025-09-04 16:12:26 -05:00
4 changed files with 40 additions and 35 deletions

View File

@@ -9,6 +9,8 @@ env:
jobs:
coverage:
runs-on: ubuntu-latest
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@v5
@@ -46,11 +48,41 @@ jobs:
- name: Generate coverage report
run: |
just coverage-codecov
just coverage
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./codecov.json
disable_search: true
files: lcov.info
- name: Download Coveralls CLI
if: ${{ env.COVERALLS_REPO_TOKEN != '' }}
run: |
# use GitHub Releases URL instead of coveralls.io because they can't maintain their own files; it 404s
curl -L https://github.com/coverallsapp/coverage-reporter/releases/download/v0.6.15/coveralls-linux-x86_64.tar.gz | tar -xz -C /usr/local/bin
- name: Upload coverage to Coveralls
if: ${{ env.COVERALLS_REPO_TOKEN != '' }}
run: |
if [ ! -f "lcov.info" ]; then
echo "Error: lcov.info file not found. Coverage generation may have failed."
exit 1
fi
for i in {1..10}; do
echo "Attempt $i: Uploading coverage to Coveralls..."
if coveralls -n report lcov.info; then
echo "Successfully uploaded coverage report."
exit 0
fi
if [ $i -lt 10 ]; then
delay=$((2**i))
echo "Attempt $i failed. Retrying in $delay seconds..."
sleep $delay
fi
done
echo "Failed to upload coverage report after 10 attempts."
exit 1

View File

@@ -11,7 +11,7 @@ binary_extension := if os() == "windows" { ".exe" } else { "" }
# !!! --remap-path-prefix prevents the absolute path from being used in the generated report
# Generate HTML report (for humans, source line inspection)
html: coverage-lcov
html: coverage
cargo llvm-cov report \
--remap-path-prefix \
--ignore-filename-regex "{{ coverage_exclude_pattern }}" \
@@ -19,13 +19,13 @@ html: coverage-lcov
--open
# Display report (for humans)
report-coverage: coverage-lcov
report-coverage: coverage
cargo llvm-cov report \
--remap-path-prefix \
--ignore-filename-regex "{{ coverage_exclude_pattern }}"
# Run & generate LCOV report (as base report)
coverage-lcov:
# Run & generate report (for CI)
coverage:
cargo llvm-cov \
--lcov \
--remap-path-prefix \
@@ -34,16 +34,6 @@ coverage-lcov:
--profile coverage \
--no-fail-fast nextest
# Run & generate Codecov report (for CI)
coverage-codecov:
cargo llvm-cov \
--codecov \
--remap-path-prefix \
--ignore-filename-regex "{{ coverage_exclude_pattern }}" \
--output-path codecov.json \
--profile coverage \
--no-fail-fast nextest
# Profile the project using 'samply'
samply:
cargo build --profile profile

View File

@@ -1,17 +0,0 @@
coverage:
status:
project:
default:
target: 70%
patch:
default:
informational: true
ignore:
- "src/(?:bin|platform))/.+\\.rs"
- "src/(?:app|events|formatter)\\.rs"
comment:
layout: "reach,diff,flags,files,footer"
behavior: default
require_changes: false

View File

@@ -266,7 +266,7 @@ pub fn debug_render_system(
}
canvas.set_draw_color(Color {
a: f32_to_u8(0.65),
a: f32_to_u8(0.6),
..Color::RED
});
canvas.set_blend_mode(sdl2::render::BlendMode::Blend);