Commits on Jun 14, 2017
  1. Merge pull request #11 from mrallen1/mra-rebar3

    jlouis committed Jun 14, 2017
    Bump lager dependency; support rebar3 and 2
Commits on Jun 13, 2017
  1. Add hex publishing info

    mrallen1 committed Jun 13, 2017
Commits on Feb 23, 2016
Commits on Feb 5, 2016
  1. Hello version 2.5.1

    jlouis committed Feb 5, 2016
Commits on Feb 4, 2016
  1. Merge pull request #9 from lrascao/fix/destroy_spec

    jlouis committed Feb 4, 2016
    Add missing pid spec argument to destroy method
Commits on Jun 9, 2015
Commits on May 15, 2015
  1. Adapt the Codel test case.

    jlouis committed May 15, 2015
Commits on May 14, 2015
  1. Bump the version to 2.5.0.

    jlouis committed May 14, 2015
  2. Spawn a process to run the command for enqueuing while full.

    jlouis committed May 14, 2015
    The problem is that if we have a non-blocking call, it is run on the "main" process
    of EQC. Thus, the process is never terminated, and as a result, we don't capture
    the problem where a spurious 'DOWN' message comes into the SUT. Add a test
    case where the call is run on it's own process to plug this hole.
  3. Adapt the code base to R18+ Time API.

    jlouis committed May 14, 2015
    Timestamps now force the use of a unique integer. While far from
    perfect, it obeys the old rules of the queues and thus it works the
    same way as before. The speed is exactly as slow as before, by relying
    on something like erlang:now().
    While here, go through all the CoDel code and fix up the code base.
  4. Fix Issue #5 — Force ETS state tracking.

    jlouis committed May 14, 2015
    In the new code, we can survive the death of a queued process, because we
    track all processes in the system, also the ones which are currently queued.
    However, the code did not account for the case where a process gets monitored
    but is immediately rejected because the queue is full. This means that the
    invariant of monitor → table entry was broken. The fix is to correctly
    monitor/demonitor based on the table state.
  5. Add a helper target for rebar3.

    jlouis committed May 14, 2015
  6. Add a time compatibility layer.

    jlouis committed May 14, 2015
  7. Merge pull request #6 from lrascao/feature/support_dynamic_queues

    jlouis committed May 14, 2015
    Support dinamically created queues
  8. Merge pull request #7 from essen/patch-1

    jlouis committed May 14, 2015
    Make compatible as a dep for
  9. Make compatible as a dep for

    essen committed May 14, 2015
    Default target should build the project without requiring to have EQC installed.
Commits on Apr 8, 2015
  1. Support dinamically created queues

    lrascao committed Apr 7, 2015
    introduce sv:new/2, new/1 methods that allow dynamic
    creation of named or anomymous queues, each with a
    separate configuration
Commits on Mar 8, 2015
  1. Simplify the ChangeLog

    jlouis committed Mar 8, 2015
    There is no reason to write X → Y when it is always a linear transition.
  2. Fix Issue #1

    jlouis committed Mar 8, 2015
    Uses the new ETS tracking table to track and monitor all processes, also while queuing. Correctly remove processes that are killed during queueing. Also update the QuickCheck model with a new kind of process kill.
  3. Two simple typos fixed: found by quickcheck.

    jlouis committed Mar 8, 2015
    queued → queueing
    QT:delete/3 → QT:remove/3
  4. Change reference tracking to work over the lifetime of an interaction.

    jlouis committed Mar 8, 2015
    We now set a monitor for any process we work with. This should allow
    us to make the case for the case where we lose a process while it is
    queued in the system.
  5. Track currently working tasks separately from the ETS table.

    jlouis committed Mar 8, 2015
    This change refactors the code such that the number of currently working
    tasks are handled by a separate counter. In the future, this allows us to store
    references of other kinds in the task table, which is sorely needed.
  6. Change the internal working representation from a gb_set into ETS.

    jlouis committed Mar 8, 2015
    A couple of reasons why we want an ETS table for tracking information about
    who are currently working:
    * It is much faster
    * It acts well, even if we end up loading the system with many workers
    * It allows us to store a process for its whole total lifetime of interaction with our system. This is necessary in the long run for this project.
Commits on Mar 6, 2015
  1. Improve the Chaos Monkey™ kill jobs in the asking state.

    jlouis committed Mar 6, 2015
    This branch is an attempt at identifying Issue #1. We arrange it such that we
    can kill jobs which are currently 'asking' for the ability to run. This leads to
    severe inconsistency between the model and the underlying implementation.
    The right solution is really a question of semantics, and we don't a priori know
    what the right course of action happens to be.
  2. Path correction for EQC-CI.

    jlouis committed Mar 6, 2015
  3. QuickCheck-CI driver.

    jlouis committed Mar 6, 2015
  4. Documentation run.

    jlouis committed Mar 6, 2015
  5. Hoist a common prefix out of a case.

    jlouis committed Mar 6, 2015
    I think this is easier to read for the next reader and it is also easier to manipulate
    later on, so lets do it this way instead.
  6. Formatting run.

    jlouis committed Mar 6, 2015