aprs.me/test
Graham McIntire 5fb653bf05
Implement mix_unused-style unused public function detector
Adds a self-contained 'unused' Mix compiler task that finds public
functions in this project no caller in the project ever invokes:

- MixUnused.Analyzer: enumerates public functions across the project's
  compiled BEAM files (filtered by app), walks the abstract code in
  each BEAM via :beam_lib to collect every remote {Module, fun, arity}
  call observed at compile time, and subtracts the call set from the
  def set. Exposes :exclude (modules or MFA triples), :compile_path,
  and :app options. Behaviour callbacks (@impl true and any listed
  in behaviour_info(:callbacks)) and well-known entry points
  (start_link, child_spec, mount, render, GenServer callbacks,
  __info__, module_info, etc.) are excluded automatically.

- Mix.Tasks.Compile.Unused: a Mix.Task.Compiler that compiles the
  project then asks the analyzer for unused defs. Severity is
  configurable via the :unused project key; per-file exclusion of
  test/ paths is on by default.

Inspired by https://github.com/hauleth/mix_unused — uses BEAM
introspection rather than a compilation tracer to avoid the
chicken-and-egg problem of recompiling the tracer module itself
during analysis.
2026-05-08 12:30:04 -05:00
..
aprsme Add HistoricalLoader real-Packets module path tests and LeaderElection delay branch test 2026-05-08 12:20:53 -05:00
aprsme_web Add HistoricalLoader real-Packets module path tests and LeaderElection delay branch test 2026-05-08 12:20:53 -05:00
assets/js Improve type safety for getTrailId function 2025-07-21 08:36:38 -05:00
integration cleanup 2026-02-07 10:55:19 -06:00
mix/tasks test: cover auth LiveViews, PacketReplay, ShutdownHandler and more 2026-04-23 16:30:51 -05:00
mix_unused Implement mix_unused-style unused public function detector 2026-05-08 12:30:04 -05:00
support test: broaden unit & property-test coverage (61.8% → 64.7%) 2026-04-23 13:32:09 -05:00
types format 2026-02-18 14:49:58 -06:00
aprs_is_mock_test.exs test: AprsIsMock, DeviceIdentification, PacketCleanupWorker coverage 2026-04-23 18:13:02 -05:00
test_helper.exs fix some tests 2026-02-09 15:32:09 -06:00