Skip to content

Parallel test runner #100

Open
Open

Description

@kellyredding

Activity

  1. kellyredding commented on Nov 5, 2012

    @kellyredding
    MemberAuthor

    Also, need to make captured io be thread safe: minitest/minitest@f9f14b5

  2. kellyredding commented on Oct 25, 2013

    @kellyredding
    MemberAuthor

    Some updated thoughts on this:

    • stubbing singletons and database tests are problematic for parallel tests
    • can get around some of this if you run in sep processes
    • but to do that you have to deal with
      • sep db for each process
      • aggregate results for each process
      • how to split up tests across processes

    So, some ideas on getting around that:

    • run all db tests in a transaction
    • run all tests by "#{file_path}:#{line_num}", allow to be read in on $stdin
    • give CLI a "machine output" mode where results are dumped to $stdout in decode-able manner
    • have main test run process split tests and fire up N sub processes with file/line_num input, gather machine output, and display results.

    Anyway, not sure when/if we get to this, but notes none-the-less

  3. kellyredding commented on Jul 9, 2014

    @kellyredding
    MemberAuthor

    (notes to self)

    Had some more thoughts on this:

    • have new gem that allows parallel running
    • provides a custom runner/view (?)
    • brings in sqlite as a dependency
    • stores test data in db
    • forks processes to run tests
    • test data updated by the processes in the db
    • hopefully processes show "live" results via writing to a shared IO stream
    • view queries db to output test results

    Basically I wanna use a sqlite as a nice, ACID-compliant, way to have multiple processes write shared result test data. I don't want to bring in sqlite as a dependency to assert as it's only needed if you even want to run tests parallel.

    Would probably need to refactor the runner and view to have a more extendable API to allow this new gem to customize as needed.

    Anyway, moar thoughts on this matter.

  4. kellyredding commented on Feb 21, 2015

    @kellyredding
    MemberAuthor

    https://github.com/redding/parassert

    • use sqlite
    • use parallel
    • see how that goes to start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogwill do at some point in the future

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions