• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

BehaviorTree / BehaviorTree.CPP / 21664715396
80%

Build:
DEFAULT BRANCH: master
Ran 04 Feb 2026 08:53AM UTC
Jobs 1
Files 101
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Feb 2026 08:48AM UTC coverage: 77.406% (+7.8%) from 69.604%
21664715396

push

github

web-flow
Improve test suite quality and coverage (#1102)

* Improve test suite quality and coverage

Test Coverage Improvements:
- Add gtest_basic_types.cpp: Tests for toStr(), convertFromString(), splitString()
- Add gtest_if_then_else.cpp: Tests for IfThenElseNode control node
- Add gtest_while_do_else.cpp: Tests for WhileDoElseNode control node
- Add gtest_loggers.cpp: Tests for StdCoutLogger, FileLogger2, MinitraceLogger, SqliteLogger
- Add decorator tests: ForceFailure, ForceSuccess, Inverter, KeepRunningUntilFailure

Critical Fixes from Test Review:
- Remove debug std::cout statements from gtest_coroutines.cpp and script_parser_test.cpp
- Delete empty unused gtest_scripting.cpp (script_parser_test.cpp provides coverage)
- Fix timing fragility: Replace magic numbers with named constants
- Reduce test durations from 200-500ms to 10-50ms for faster CI execution

All 420 tests pass.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add Phase 4 edge case tests for LoopNode and Reactive nodes

New tests:
- gtest_loop.cpp: 15 tests for LoopNode decorator
  - Static queue parsing (int, double, string, bool)
  - Empty queue handling (if_empty parameter)
  - Dynamic queue from blackboard
  - Vector input conversion (Issue #969)
  - Child failure behavior
  - Restart after completion
  - convertFromString tests for SharedQueue types

- gtest_reactive.cpp: 7 additional tests
  - ReactiveSequence first child fails
  - ReactiveSequence halt on condition change
  - ReactiveFallback first child succeeds
  - ReactiveFallback all children fail
  - ReactiveSequence all children succeed
  - ReactiveSequence re-evaluates on every tick

Coverage improvements:
- loop_node.h: 65.9% -> 98.8% (+32.9%)
- reactive_fallback.cpp: 69.2% -> 74.4% (+5.2%)
- Overall: 76.6% -> 77.1%
- Tests: 420 -> 442 (+22)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(loggers): resolve TSAN race conditions in FileLogger2 and SqliteLogger

- Add deferred subscription pattern t... (continued)

45 of 45 new or added lines in 4 files covered. (100.0%)

1 existing line in 1 file now uncovered.

4214 of 5444 relevant lines covered (77.41%)

24407.47 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
98.96
-1.04% include/behaviortree_cpp/utils/timer_queue.h
Jobs
ID Job ID Ran Files Coverage
1 21664715396.1 04 Feb 2026 08:53AM UTC 101
77.41
GitHub Action Run
Source Files on build 21664715396
  • Tree
  • List 101
  • Changed 19
  • Source Changed 4
  • Coverage Changed 19
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #21664715396
  • 061fd8ea on github
  • Prev Build on master (#21628214349)
  • Next Build on master (#21666718139)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc