Opened 12 years ago

Closed 11 years ago

#2099 closed enhancement (fixed)

[with patch, positive review] Make sage-test execute multiple doctests in parallel

Reported by: ncalexan Owned by: gfurnish
Priority: major Milestone: sage-2.10.3
Component: doctest coverage Keywords: sage test doctest multiple parallel
Cc: ncalexander@… Merged in:
Authors: Reviewers:
Report Upstream: Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

It would greatly speed testing if sage-test doctested multiple files in parallel.

Attachments (5)

sage-doctesting.tex (3.2 KB) - added by ncalexan 12 years ago.
ncalexan-parallel-testing-1.hg (7.0 KB) - added by ncalexan 12 years ago.
2099-ncalexan-parallel-testing-2.hg (9.0 KB) - added by ncalexan 12 years ago.
2099-ncalexan-parallel-testing-3.hg (13.3 KB) - added by ncalexan 12 years ago.
trac_2999.patch (6.5 KB) - added by gfurnish 11 years ago.
sage-ptest

Download all attachments as: .zip

Change History (14)

comment:1 Changed 12 years ago by ncalexan

Mike Abshoff suggested a short document explaining how the current doctesting system is organized. I have attached a preliminary version of this document.

Changed 12 years ago by ncalexan

Changed 12 years ago by ncalexan

comment:2 Changed 12 years ago by ncalexan

The patch ncalexan-parallel-testing-1.hg applies to hg_scripts in local/bin.

Changed 12 years ago by ncalexan

comment:3 Changed 12 years ago by ncalexan

2099-ncalexan-parallel-testing-2.hg should not depend on the earlier bundle.

This is a work in progress bundle that improves option parsing and makes 'test via make' the only option. It improves sage-doctest slightly and tries to write a Makefile.doctest that can be run via command-line make.

Use two dashes (--) for options.

Output is not yet collated. Timeouts are not yet implemented.

Changed 12 years ago by ncalexan

comment:4 Changed 12 years ago by ncalexan

2099-ncalexan-parallel-testing-3.hg should not depend on earlier bundles.

This is a work in progress bundle that adds

  • working per-test timeouts
  • parsing SAGE_DOCTEST_OPTIONAL, _LONG, _TIMEOUT from the environment
  • output via -o OUTFILE
  • improves handling of sage-doctest crashing
[5:25pm] ncalexan: mabshoff: I have parallel testing with output and timeout working, or mostly working.
[5:25pm] mabshoff: ncalexan: cool
[5:26pm] ncalexan: mabshoff: I can't think of a way to get partial output correct.  You can display it while it comes, but if you don't wait until the entire test is done, you won't get the sorted output.
[5:26pm] ncalexan: I'll post another bundle.
[5:26pm] ncalexan: Use -v for verbose, -q for quiet, -o OUTFILE.
[5:26pm] ncalexan: (All to sage-test or sage -t)

comment:5 Changed 12 years ago by mabshoff

  • Milestone set to sage-2.10.3

comment:6 Changed 11 years ago by gfurnish

  • Owner changed from ncalexan to gfurnish
  • Status changed from new to assigned

comment:7 Changed 11 years ago by gfurnish

This creates sage-ptest for parallel test. The first argument is equivalent to -j (the number of parallel tests to run). The rest of the arguments are as normal.

Changed 11 years ago by gfurnish

sage-ptest

comment:8 Changed 11 years ago by mabshoff

  • Summary changed from Make sage-test execute multiple doctests in parallel to [with patch, positive review] Make sage-test execute multiple doctests in parallel

trac_2999.patch replaces all the other patches (with the exception of a minimal fix to sage -test. I give it a positive review.

Cheers,

Michael

comment:9 Changed 11 years ago by mabshoff

  • Resolution set to fixed
  • Status changed from assigned to closed

Merged in Sage 2.10.3.rc1

Note: See TracTickets for help on using tickets.