Skip to content

Version 1.0.0

Latest

Choose a tag to compare

@aplteam aplteam released this 11 Sep 17:13
  • This version still suffers from...
    • the defect that ⎕PROFILE does not report on local dfns
    • the fact that Dyalof offers no means to get the local code of ops/fns from classes
  • Bug fixes
    • When several reports were aggregated but ran (at least partly) different functions, a very large
      (and also useless/wrong) report was printed to the session (fixes #19)
    • The data collected by the first run was written to component 10 of the *.profile file rather
      than component 11, so it was overwritten by the aggregated data as soon as a report was created.
    • Dfns at the top level of a class or namespace script were not reported at all.
    • A function without any testable line, like a one-line dfn, was reported as 100% covered even when it
      was never called. Its first line now counts, so it is covered once it has been called.
    • Names without source code, like dfns local to another function or the setter of a read-only property,
      were reported as 100% covered.
    • An operator with a left argument was reported under the name of that argument.
    • A property declared with Simple, Numbered, Keyed or Default produced invalid getter and setter
      names, so its getter was never measured.
    • Ignoring a namespace did not work when the report was compiled in a workspace without that namespace.
    • A verbose report crashed with a VALUE ERROR when the *.cr file was missing.
    • An interrupted Finalise could leave the *.cr file misaligned, so that later runs compared functions
      against the wrong code.
    • Names passed to ⎕NEW that were not fully qualified were not resolved in the calling namespace.
    • Finalise failed when filename pointed to a directory that did not exist yet.
    • In a verbose report, the listing of a one-line dfn could be cut short.
    • "Found new function" was printed for functions in namespaces that no earlier run had watched.
  • watch is now a read-only property, as it has always been documented to be: it is established by the
    constructor and cannot be changed afterwards.
  • DeleteFiles with a left argument of 1 now also deletes the *.md summary.
  • CodeCoverage requires the Unicode edition of Dyalog APL; the constructor checks for it.
  • README revised and extended.
  • Packages updated.

To be consumed as a Tatin package, see https://tatin.dev