Home

Project Metrics

2017-06-02

This is a continuation of the last status update. I keep track of a few numbers to give me a feel for the project's progress.

Spec Test Stats

The last time I published spec test stats, the summary was:

I just made a fresh run, and now the summary is:

Most of my work in the last two months has been on OPy and OVM, rather than on the shell itself, so the small delta is expected. The number of failures needs to be lower before a release, but there's nothing risky about that work.

Line Counts

I've published line counts in:

I've copied the abbreviated output of scripts/count.sh all below. Summary:

I like that the code is getting more correct without getting much bigger. There's a lot of functionality packed into few lines of well-tested code.

Other things to notice:


BUILD AUTOMATION
  ...
  136 build/actions.sh
  322 build/compile.sh
 1059 total

TEST AUTOMATION
  ...
  872 test/sh_spec.py
  891 test/osh2oil.sh
 3624 total

BENCHMARKS
  97 benchmarks/awk-python.sh
 165 benchmarks/startup.sh
 262 total

SHELL SPEC TESTS
  ...
  272 spec/here-doc.test.sh
  335 spec/array.test.sh
 4722 total

ASDL
  ...
  557 asdl/format.py
 2062 total

TOOLS
1184 tools/osh2oil.py

OTHER UNIT TESTS
   ...
   79 tools/osh2oil_test.py
  543 total

OIL UNIT TESTS
  ...
  518 osh/word_parse_test.py
 1238 osh/cmd_parse_test.py
 3550 total

OIL
  ...
  1088 core/word_eval.py
  1140 osh/word_parse.py
  1226 core/cmd_exec.py
  1563 osh/cmd_parse.py
 11864 total

Next

These metrics are coarse, but useful. I plan to add more detailed metrics as the project expands.

I'm eager to release OSH, and the next post explains what I want to do before a release.