Commit graph

27 commits

Author SHA1 Message Date
Markus Schirp
8335cccafb Fix YARD summary line
* Reduce redunrant 'Return' prefix on summaries
* Improve summary line to reflect the semantics of operation better
2015-07-03 15:21:39 +00:00
Markus Schirp
d647563055 Refactor expression parsing and representation
* Avoids boot time mutation of REGISTER constant
* Allows to define project specific expression parsing
* Avoids custom (slow) serialization of Expression objects speeding up
  reporter / killer IPC
* Improve specification
* Improve integration API as it now finally references an object the config
* Allow reproduction of syntax from Expression#syntax
* Allow instantiation of Expresssion objects without generating the
  syntax, much nicer for most specs & internal code, avoids generating
  a string to parse it into an expression
* Fix LSP violation in Mutant::Matcher namespace
2015-06-21 14:44:33 +00:00
Markus Schirp
a0216cb6fa Bump ruby requirement to 2.1
* Use %i style symbol literal arrays
* Fix style
* Whitelist some preferred style
2015-05-31 21:20:54 +00:00
Markus Schirp
fac11531a4 Rename Config#matcher_config to #config 2014-12-22 18:27:12 +00:00
Markus Schirp
4856350901 Remove actor env from config 2014-12-22 18:05:30 +00:00
Markus Schirp
e08d3b6b80 Use actor based parallelization 2014-11-30 23:11:01 +00:00
Markus Schirp
97103b88f4 Revert "Revert "Use threads for parallelization""
This reverts commit 2735221fb5.
2014-09-24 19:57:32 +00:00
Markus Schirp
2735221fb5 Revert "Use threads for parallelization"
This reverts commit 75c6d73966.

CI tells me it does not work :(
2014-09-24 17:02:03 +00:00
Markus Schirp
75c6d73966 Use threads for parallelization
* The parallelization runner almost immediately calls a fork and gets
  blocked on waitpid() releasing the GIL.
* Threads have lower resource usage than processes
* There is a chance mutant will get faster on smaller machines and might
  scale better on bigger.
2014-09-24 16:24:22 +00:00
Markus Schirp
105730f5ba Add parallel runner / reporter 2014-07-17 15:05:57 +00:00
Markus Schirp
f9b0edf697 Avoid deep freezing for RBX 2014-07-06 22:03:01 +00:00
Markus Schirp
dec1a39eb5 Move isolation into config object
Also add Isolation::None for testing.
2014-07-06 02:17:28 +00:00
Markus Schirp
41d9700473 Refactor runer infrastructure
* Nuke around 800 lock
* Honor LSP with not anymore squeezing something non LSP compatible in
  the same inheritance tree.
* Separate running from result tree.
* Clean up kill logic and early exits on already dead mutations.
* Fix #runnin? smell for reporters.
* Decouple config object from VM state. Makes it serializable to enable
  config loading.
* Fix sequence of global VM events to match PRIOR rspec infects VM with
  gazillions of classes / modules. Thix fixes a startup speed
  degeneration.
* Various fixes to enhance determinism.
* Replace some unneded manual double dispatch with single manual dispatch for
  reporter / runners.
2014-07-05 23:04:38 +00:00
Markus Schirp
d1c764a86f Rename strategy to integration 2014-06-28 23:04:18 +00:00
Markus Schirp
19896c4d29 Move test selection out of stategy 2014-06-28 22:54:28 +00:00
Markus Schirp
cf9050110c Move cache instide match builder 2014-06-27 21:46:53 +00:00
Markus Schirp
a19f3b1691 Nuke UTF-8 encoding headers
* I do not use 1.9.3
* Also keeping them in each file increases mental overhead (true it *can* be autoamted)
* None of the files encodes NON ASCII chars.
* I do not expect it makes any difference, since nobody programmatically
  will consume strings generated by mutant under the assumption they are UTF-8 encoded.
* 1.9.3 Users have to deal with the encoding fuckup under ruby anyways.
2014-06-09 15:37:48 +00:00
Markus Schirp
0fe8acc0ad Use morpher predicates for filtering
* Removes Mutant::Predicate
* Simplifies CLI builder logic
* More to come
2014-02-02 22:49:33 +01:00
Markus Schirp
8485dc313c Allow configurable coverage expectation 2014-01-19 00:07:10 +01:00
Markus Schirp
e9931f6abe Slightly refactor CLI
* Backlists should "work" now.
* CLI (match expression) classifiers are not used as matchers anymore
2013-09-13 22:34:19 +02:00
Markus Schirp
5f49582b4b Adjust flay/flog scores 2013-08-04 23:03:39 +02:00
Dan Kubb
7293386c26 Add magic encoding header to all ruby files
* rubocop still warns about this on ruby 1.9.3, so it was fixed so
  it produces less output on travis.
2013-07-28 16:03:06 -07:00
Markus Schirp
8a6a51fd08 Add support for --fail-fast flag
* Some long planned runner design changes.
* It now also uses the emitter pattern
2013-07-15 01:17:15 +02:00
Markus Schirp
49133680ee Add AST caching for subject matcher
At least this dramatically speeds up unit tests. And this is a good
thing.
2013-06-27 22:18:07 +02:00
Markus Schirp
1f25ab3ded Cosmetic end comments 2013-06-14 21:12:10 +02:00
Markus Schirp
21fdb99801 Fix runner infastructure 2013-04-12 23:34:54 +02:00
Markus Schirp
c7fae6dd07 Introduce Mutant::Config objects
This will ease deve
2013-02-24 20:43:15 +01:00