JuliaArrays / JuliaArrays/ArrayInterface.jl
Array Interface Test Suite
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Julia
- Sterne
- 140
- Forks
- 44
- Ø Merge
- 4 T. 14 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
I've come across comments that it takes many months or years before a new array type is dependable because it takes time to catch all the corner cases and bugs. I think we should be able to get an array to be safely usable for common applications in a much shorter time. It might help if we put together a set of tests for common assumptions that an array should meet so that testing is easier. For example...
function test_array_indices(x)
lininds = eachindex(IndexLinear(), x)
carinds = CartesianIndices(axes(x))
for (li,ci) = zip(lininds,carinds)
@test x[li] == x[ci]
end
@test length(lininds) == length(carinds) == length(x) == prod(size(x))
end
We could make that example a bit more verbose and inject some logging so that it's clear where errors come from.
We could also do similar things with stride-layout stuff.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Durchsicht des vorgeschlagenen test_array_indices-Beispiels und der bestehenden Organisation der array-interface-Tests, sofern vorhanden. Lege den Umfang der gemeinsamen Annahmen zu Arrays und Stride-Layouts fest und bestätige anschließend, dass die resultierende Testsuite Fehler klar meldet und die vereinbarten Fälle abdeckt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- julia
- Bereich
- testing
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100