ref:fd4c5c1886c8146b78c7ab451a200bc57c9f63b3

Fix CI: formatting, dialyzer PLT missing :mix, stale test moduledoc

- Run mix format on 3 test files with long-line violations - Add plt_add_apps: [:mix] so dialyzer resolves Mix.Task/shell/raise - Update interop_edge_cases_test moduledoc (bugs are fixed, not failing) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SHA: fd4c5c1886c8146b78c7ab451a200bc57c9f63b3
Author: Cole Christensen <cole.christensen@macmillan.com>
Date: 2026-02-11 06:42
Parents: 93e9e00
5 files changed +21 -9
Type
mix.exs +2 −1
@@ -31,7 +31,8 @@
homepage_url: @source_url,
docs: docs(),
dialyzer: [
plt_file: {:no_warn, "priv/plts/dialyzer.plt"}
plt_file: {:no_warn, "priv/plts/dialyzer.plt"},
plt_add_apps: [:mix]
]
]
end
test/ex_git_objectstore/cycle2_fixes_test.exs +9 −3
@@ -252,7 +252,9 @@
# should contain all non-delta objects' SHAs mapped to their offsets.
objects =
for i <- 1..10 do
content = "Object content number #{i} - #{:crypto.strong_rand_bytes(16) |> Base.encode16()}\n"
content =
"Object content number #{i} - #{:crypto.strong_rand_bytes(16) |> Base.encode16()}\n"
blob = Blob.from_content(content)
sha = Object.hash(blob)
{content, sha}
@@ -374,7 +376,9 @@
end
test ":commit type produces correct raw encoding" do
content =
content = "tree 0000000000000000000000000000000000000000\nauthor Test <t@t> 0 +0000\ncommitter Test <t@t> 0 +0000\n\nmessage\n"
"tree 0000000000000000000000000000000000000000\nauthor Test <t@t> 0 +0000\ncommitter Test <t@t> 0 +0000\n\nmessage\n"
result = Object.encode_raw_from_type(:commit, content)
expected = "commit #{byte_size(content)}\0" <> content
assert result == expected
@@ -388,7 +392,9 @@
end
test ":tag type produces correct raw encoding" do
content = "object 0000000000000000000000000000000000000000\ntype commit\ntag v1\ntagger Test <t@t> 0 +0000\n\nmessage\n"
content =
"object 0000000000000000000000000000000000000000\ntype commit\ntag v1\ntagger Test <t@t> 0 +0000\n\nmessage\n"
result = Object.encode_raw_from_type(:tag, content)
expected = "tag #{byte_size(content)}\0" <> content
assert result == expected
test/ex_git_objectstore/cycle3_fixes_test.exs +4 −1
@@ -354,7 +354,10 @@
defp create_memory_repo do
{:ok, pid} = Memory.start_link()
Repo.new("cycle3-test-#{:erlang.unique_integer([:positive])}", storage: {Memory, Memory.config(pid)})
Repo.new("cycle3-test-#{:erlang.unique_integer([:positive])}",
storage: {Memory, Memory.config(pid)}
)
end
defp create_filesystem_repo(root) do
test/ex_git_objectstore/cycle5_fixes_test.exs +3 −1
@@ -47,7 +47,9 @@
objects = [
{:blob, "content\n", String.duplicate("a", 40)},
{:blob, "other\n", String.duplicate("b", 40)},
{:commit, "tree #{String.duplicate("c", 40)}\nauthor T <t> 0 +0000\ncommitter T <t> 0 +0000\n\nmsg\n", String.duplicate("d", 40)}
{:commit,
"tree #{String.duplicate("c", 40)}\nauthor T <t> 0 +0000\ncommitter T <t> 0 +0000\n\nmsg\n",
String.duplicate("d", 40)}
]
{pack_data, _sha} = Writer.generate(objects)
test/ex_git_objectstore/interop_edge_cases_test.exs +3 −3
@@ -17,8 +17,8 @@
Interoperability edge case tests that verify ExGitObjectstore correctly
handles data created by the real `git` binary, and vice versa.
Every test in this file demonstrates a REAL FAILURE where the library
does not correctly interoperate with git. All tests are expected to FAIL.
When the underlying bug is fixed, the test should start passing.
These tests were originally written to document real interop failures
discovered via git binary testing. All 6 bugs have been fixed and
these tests now serve as regression guards.
"""
use ExUnit.Case, async: false