Browse files

Updated history and readme for new hoe capabilities.

   Guard all test/unit hacks in case we're using miniunit.
   Fixed test_heckle. we don't always have @heckler defined.

[git-p4: depot-paths = "//src/heckle/dev/": change = 3969]
  • Loading branch information...
1 parent 46b2976 commit c6f379e85afb54d2019382d536489e19902a9043 @zenspider zenspider committed Jun 3, 2008
Showing with 33 additions and 10 deletions.
  1. +18 −0 History.txt
  2. +9 −8 README.txt
  3. +5 −1 lib/test_unit_heckler.rb
  4. +1 −1 test/test_heckle.rb
View
18 History.txt
@@ -1,12 +1,14 @@
=== 1.4.2 / ??
* N bug fixes:
+
* Fix bug #11435 where [:iter, [:call], ...] would cause an endless
loop. Reported by Thomas Preymesser.
=== 1.4.1 / 2007-06-05
* 3 bug fixes:
+
* Add zentest as a heckle dependency. Closes #10996
* Fixed heckling of call with blocks.
* Fix test_unit_heckler's test_pass? so it returns the result of the
@@ -15,48 +17,63 @@
=== 1.4.0 / 2007-05-18
* 2 major enhancements:
+
* Method calls are now heckled (by removal).
* Assignments are now heckled (by value changing).
+
* 3 minor enhancements:
+
* Added --focus to feel the Eye of Sauron (specify unit tests to run).
* Specify nodes to be included/excluded in heckle with -n/-x.
* Test only assignments with --assignments
=== 1.3.0 / 2007-02-12
* 1 major enhancement:
+
* Unified diffs for mutatated methods
+
* 4 minor enhancements:
+
* Now returns exit status 1 if failed.
* Added a simple report at the end.
* Runs are now sorted by method.
* Autodetects rails and changes test_pattern accordingly.
+
* 2 bug fixes:
+
* Aborts when an unknown method is supplied.
* Escapes slashes in random regexps.
=== 1.2.0 / 2007-01-15
* 2 major enhancements:
+
* Timeout for tests set dynamically and overridable with -T
* Class method support with "self.method_name"
+
* 3 minor enhancements:
+
* -b allows heckling of branches only
* Restructured class heirarchy and got rid of Base and others.
* Revamped the tests and reduced size by 60%.
+
* 1 bug fix:
+
* Fixed the infinite loop caused by syntax errors
=== 1.1.1 / 2006-12-20
* 3 bug fixes:
+
* Load tests properly when supplying method name.
* Make sure random symbols have at least one character.
* Removed all extra warnings from the unit tests. Consolidated and cleaned.
=== 1.1.0 / 2006-12-19
* 12 major enhancements:
+
* Able to roll back original method after processing.
* Can mutate numeric literals.
* Can mutate strings.
@@ -73,4 +90,5 @@
=== 1.0.0 / 2006-10-22
* 1 major enhancement
+
* Birthday!
View
17 README.txt
@@ -1,10 +1,11 @@
-heckle
- http://www.rubyforge.org/projects/seattlerb
- by Ryan Davis and Kevin Clark
+= heckle
+
+* http://www.rubyforge.org/projects/seattlerb
+* http://seattlerb.rubyforge.org/heckle
== DESCRIPTION:
-Heckle is a mutation tester. It modifies your code and runs your tests to make sure they fail. The idea is that if code can be changed and your tests don't notice, either that code isn't being covered or it doesn't do anything.
+Heckle is unit test sadism(tm) at it's core. Heckle is a mutation tester. It modifies your code and runs your tests to make sure they fail. The idea is that if code can be changed and your tests don't notice, either that code isn't being covered or it doesn't do anything.
It's like hiring a white-hat hacker to try to break into your server and making sure you detect it. You learn the most by trying to break things and watching the outcome in an act of unit test sadism.
@@ -20,18 +21,18 @@ It's like hiring a white-hat hacker to try to break into your server and making
== REQUIREMENTS:
-+ ruby2ruby 1.1.2 or greater
-+ ParseTree 1.6.1 or greater
+* ruby2ruby 1.1.2 or greater
+* ParseTree 1.6.1 or greater
== INSTALL:
-+ sudo gem install heckle
+* sudo gem install heckle
== LICENSE:
(The MIT License)
-Copyright (c) 2006 Ryan Davis and Kevin Clark
+Copyright (c) 2006-2008 Ryan Davis and Kevin Clark
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
View
6 lib/test_unit_heckler.rb
@@ -8,7 +8,11 @@
$: << 'lib' << 'test'
# Make sure test/unit doesn't swallow our timeout
-Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS << Heckle::Timeout
+begin
+ Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS << Heckle::Timeout
+rescue NameError
+ # ignore
+end
class TestUnitHeckler < Heckle
View
2 test/test_heckle.rb
@@ -38,7 +38,7 @@ def setup
end
def teardown
- @heckler.reset
+ @heckler.reset if defined? @heckler
end
end

0 comments on commit c6f379e

Please sign in to comment.