• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

roundup-tracker / roundup / 19051243866 / 1
75%
master: 75%

Build:
DEFAULT BRANCH: master
Ran 03 Nov 2025 10:50PM UTC
Files 118
Run time 6s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Nov 2025 05:42PM UTC coverage: 74.679% (+0.02%) from 74.659%
19051243866.1

push

github

rouilj
refactor: mke Date class use __slots__

This should be the last slotting for a while.

Instrumenting roundup-admin and the Client class (running under the
waitress wsgi server) shows object count output similar to:

[(('IssueClass', 'roundup.backends.back_anydbm'), 128),
 (('Session', 'roundup.cgi.client'), 128),
 (('Mailer', 'roundup.mailer'), 128),
 (('Password', 'roundup.password'), 220),
 (('LiberalCookie', 'roundup.cgi.client'), 241),
 (('Database', 'roundup.backends.back_anydbm'), 256),
 (('FileClass', 'roundup.backends.back_anydbm'), 256),
 (('Number', 'roundup.hyperdb'), 256),
 (('PythonExpr', 'roundup.cgi.PageTemplates.PythonExpr'), 274),
 (('Proptree', 'roundup.hyperdb'), 276),
 (('Role', 'roundup.security'), 384),
 (('PathExpr', 'roundup.cgi.PageTemplates.Expressions'), 630),
 (('Class', 'roundup.backends.back_anydbm'), 640),
 (('SubPathExpr', 'roundup.cgi.PageTemplates.Expressions'), 645),
 (('Date', 'roundup.hyperdb'), 678),
 (('Link', 'roundup.hyperdb'), 934),
 (('Multilink', 'roundup.hyperdb'), 1024),
 (('Permission', 'roundup.security'), 6784),
 (('TruthDict', 'roundup.support'), 6795),
 (('PrioList', 'roundup.support'), 8192),
 (('Date', 'roundup.date'), 8610)]

where each row is a tuple of (class, module) and the count of
the number of object of that class sorted by number of objects.

I think the major classes that meet the criteria below are all
__slotted__ at this point:

  Is a native roundup class and not a subclass (e.g. LiberalCookie is
     subclass of http.cookies.SimpleCookie)
  Does not touch the database (not hyperdb or backend)
  Is not part of templating
  Is not a top level class that may need runtime attributes/methods
     overwritten e.g Session/Mailer/Password

Some of the excluded classes can be slotted, but they are not low
hanging fruit and requires more class heirarchy changes or more
extensive testing.

19064 of 25528 relevant lines covered (74.68%)

4.4 hits per line

Source Files on job 19051243866.1
  • Tree
  • List 118
  • Changed 7
  • Source Changed 7
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 19051243866
  • a492c975 on github
  • Prev Job for on master (#19021913441.1)
  • Next Job for on master (#19411080032.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc