Release of Uttk 0.4 (Teenager)
January 15th, 2007
Notes:
We are proud to announce that the version 0.4 of Uttk, aka Teenager, is available on-line on Rubyforge). This release comes with the version 0.6 of core_ex and 0.5 of ruby_ex.
This release is mainly the integration of unified_matchers and objective_commands sub-packages.
Installation instructions are available here: http://uttk.org/download Documentation and tutorials can be reached at: http://uttk.org/documentation
As always feedback and contributions are welcome.
Overview:
Unified Test Tool Kit, aka Uttk, is designed to ease the test stage of the development of your projects.
Testing is as important as design and implementation of a project. But it’s very cumbersome to write tests and tester scripts. That’s why a project such as Uttk can help you. It is written in Ruby, which is a high level object oriented scripting language. Unified Test Tool Kit allows two ways of test writing: a configuration file way (using YAML: an XML plain text format) and a class extension way where you can extend an already made class to specialize it for your own project case.
Uttk’s philosophy follows the principle that you can always extend already made test strategy to specialize/extend it. Initially, Uttk comes with a few test strategies and provides specially, abstract test strategies. Thus, Uttk will become bigger only by contributions from its users who publish their test strategies. At the end, it will provide enough test strategies that almost everybody will find the test strategy he needs.
Uttk comes with a set of classic test strategies, statistics computation, a test suite manager, a loader architecture, and a back-end that supports a powerful filtering system.
Changes:
- Core:
- Integration of objective_command and unified_matchers.
- Documentation:
- Improve tutorials.
- Improve the main presentation.
- Add a short presentation.
- Strategies:
- Add the Command strategy that subsume the Cmd one.
- The ProbabilityThreshold strategy is renamed Threshold.
- Generators:
- Add a generator for strategies that uses commands.
UnifiedMatchers first release (0.1):
UnifiedMatchers is a library of operators which compare objects (à la ===). These operators are defined in only one class and can be extended by classical class inheriting.
ObjectiveCommand first release (0.1):
Objective command is a ruby library dedicated at running commands in a OO style and in a completely extensible way.
CoreEx 0.6:
CoreEx is designed to provide a simple but quite useful extension of the standard library of Ruby. Thus some classes and modules like Pathname, Enumerable, Exception, FileUtils, String, YAML, Module, Class and Object are extended. There are also some new features like DTime, TempPath, Version, embedded_tests, FileList (almost from rake), and a common Rakefile.
Changes:
- LazyLoading: Removed. We now just relie on the dependency system of active_support.
- Some debugging
RubyEx 0.5:
RubyEx contains general purpose Ruby extensions.
Changes:
- Hooker, Hookable, Commands: Moved to objective_command.
- URI extensions and FileType: Commands are handled with objective_command.
- Symtbl: Use JSON to stringify complex objects during substitutions.
- Some additions: exp_mod, probability_distributions.
- Fix some bugs: Sendmail and multiple receivers, YAML.load_form_io, TempPath…
Release of Uttk 0.3 (KID)
March 2nd, 2006
Notes:
We are proud to announce that the version 0.3 of Uttk, aka KID, is available on-line on Rubyforge). This release comes with the version 0.5 of core_ex and 0.4 of ruby_ex.
Many features have been added since the last release in latest June (see the NEWS file included in the tarball for further details).
Installation instructions are available here: http://uttk.org/download Documentation and tutorials can be reached at: http://uttk.org/documentation
As always feedback and contributions are welcome.
Overview:
Unified Test Tool Kit, aka Uttk, is designed to ease the test stage of the development of your projects.
Testing is as important as design and implementation of a project. But it’s very cumbersome to write tests and tester scripts. That’s why a project such as Uttk can help you. It is written in Ruby, which is a high level object oriented scripting language. Unified Test Tool Kit allows two ways of test writing: a configuration file way (using YAML: a plain text format) and a class extension way where you can extend an already made class to specialize it for your own project case.
Uttk’s philosophy follows the principle that you can always extend already made test strategy to specialize/extend it. Initially, Uttk comes with a few test strategies and provides specially, abstract test strategies. Thus, Uttk will become bigger only by contributions from its users who publish their test strategies. At the end, it will provide enough test strategies that almost everybody will find the test strategy he needs.
Uttk comes with a set of classic test strategies, statistics computation, a test suite manager, a loader architecture, and a back-end that supports a powerful filtering system.
Previous releases were shipped with a distributed mode. This is no longer the case. Uttk’s architecture has changed and the former distributed mode doesn’t work any more to be almost rewritten from scratch. That’s why we decided to not include it in this release. It will be back soon!
Changes:
This release is a minor which provides also some interesting improvements:
- Compatibility:
Uttk is now fully compatible with Ruby 1.8.4. Backward compatibility with older version of Ruby is no longer maintained.
- Templates:
They are now managed by the Rails generator. So, you need Ruby on Rails installed to use them.
- Select your test from the command line:
Use the —rpath option to select the tests you want to run.
- Logger/Dumpers/Filters:
Bunch all together in a powerful back-end set. Filters are reloaded!
- Distributed mode:
Not included in this release. Will be back soon!
- Uttk binary:
Clean the help option, split in two—help and—long-help.
- Loaders:
- Ruby: You can use the Ruby’s syntax (and power) to write your test suite.
- Strategies:
- Strategy: Provides benchmark measurement.
- Assert: This new strategy based on the strategy S::Block provides to the user many assertions methods to easily define Ruby verifications. The strategy S::Assert mixes-in Test::Unit::Assertions to do this job.
- Iterate: This new strategy aims to provide a generic way to iterate over objects to factor your test suite. It’s based on ruby’s `each’.
- CmdBase: The command can now support a special argument %i, which is replaced by the name of the input file.
- Miscellaneous:
- Ruby is now in the symbol table: In your tests you now must use << ruby >> instead of just ruby. This will permit to easily control and change the running ruby.
Release of RubyEx 0.3
March 2nd, 2006
RubyEx, some Ruby extensions…
- api homepage: api.feydakins.org/ruby_ex
- rubyforge: rubyforge.org/projects/ttk
Changes:
This release makes RubyEx compatible with ruby 1.8.4!
Backward compatibility with older version of Ruby is no longer maintained.
RPath:
Introduced in the previous release. Now supports negative regular expression.
Command:
- The pipe support is reloaded.
- Introduction of the NoRun and the Popen runners.
Uri extension:
Add support for the “rsync” uri.
Release of CoreEx 0.5
March 2nd, 2006
CoreEx, A proposal for a standard library extension.
CoreEx is designed to provides a simple but quite useful extension of the standard library of Ruby. So some classes and modules like Pathname, Time, Enumerable, Exception, FileUtils, String, and YAML are extended. There is also some new features like attr_once, DTime, TempPath, Version, embedded_tests, filelist (almost from rake), a common Rakefile, and an extension of the require system.
- api homepage: api.feydakins.org/core_ex
- rubyforge: rubyforge.org/projects/ttk
Changes:
This release makes CoreEx compatible with ruby 1.8.4!
Backward compatibility with older version of Ruby is no longer maintained.
LazyLoading:
- Load Ruby files lazily.
- For example Foo::BarBaz::Test.new will require ‘foo/bar_baz/test’.
DTime:
- Is now Comparable and supports some arithmetic operators.
Version:
- Re-design to integrate a better release concept.
- It supports complex release evolutions and a good comparison between them.
dev-ruby/core_ex-0.5_alpha1 < dev-ruby/core_ex-0.5_p4 core_ex-0.5_rc == core_ex-0.5_beta4.release_candidate
Yaml:
- Update the Yaml extension.
- Add YAML.load_from_io, YAML.have_option? and YAML::BaseNode.symbol_safe_key_transform which is complex symbol aware (:”a complex symbol”).
Numeric#fact:
- Extend the Numeric module with a factorial method (alias _!, e.g: 42._!).
Release of RubyEx 0.3
October 3rd, 2005
RubyEx, some Ruby extensions…
- api homepage: api.feydakins.org/ruby_ex
- rubyforge: rubyforge.org/projects/ttk
Changes:
New in 0.3, 2005-10-03:
This release make RubyEx compatible with ruby 1.8.3!
DiffTool:
Add DiffTool a module for the Diff manipulation.
RegexList:
Add RegexList a class to handle sorting with regular expressions.
Sendmail:
Add an header option to specify header fields on the fly.
Release of CoreEx 0.4
October 3rd, 2005
CoreEx, A proposal for a standard library extension.
CoreEx is designed to provides a simple but quite useful extension of the standard library of Ruby. So some classes and modules like Pathname, Time, Enumerable, Exception, FileUtils, String, and YAML are extended. There is also some new features like attr_once, DTime, TempPath, Version, embedded_tests, filelist (almost from rake), a common Rakefile, and an extension of the require system.
- api homepage: api.feydakins.org/core_ex
- rubyforge: rubyforge.org/projects/ttk
Changes:
New in 0.4, 2005-10-03:
This release is mainly a bugfix release.
CoreEx 0.4 is compatible with ruby 1.8.3!
CoreEx::Module::InPlace:
Add a module extension to ease the use of in place methods.
Release of RubyEx 0.2
October 3rd, 2005
RubyEx, some Ruby extensions…
- api homepage: api.feydakins.org/ruby_ex
- rubyforge: rubyforge.org/projects/ttk
Changes:
New in 0.2, 2005-09-16:
- Remove many requires which are now useless; many are not yet suppressed.
- Rename classes and modules to follow the camelize/underscore convention.
Commands:
Provides an object oriented way to manage, combine and run your commands.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
require 'rubygems' ; require_gem 'ruby_ex' ; require 'ruby_ex'
Commands.import!
ls, wc, out = 'ls'.to_cmd, 'wc'.to_cmd, 'out'.to_path
data = ls.system # other runners exist (exec, fork, sh...)
p data.status
puts data.output.read
(ls > STDOUT).system
cmd = ls['*.rb'] | wc['-l'] > out
cmd.system
puts out.read
|
RPath:
Add RPath, a simple way to search your ruby data.
BlankSlate, Mocks, VerboseObject, and AutoObject:
- BlankSlate: For method_missing based classes.
- Mocks::Mock: Abstract mock.
- Mocks::Object: Save all method calls.
- Mocks::Observer: Respond to update.
- Mocks::Assertions: Helpers for unit tests which use these classes.
- Mocks::MethodLogger: Respond to log and treat arguments as a method call.
- VerboseObject: Proxies that display received method calls and verbosify objects recursivly.
- AutoObject: It’s like a verbose object without a real object inside.
Text:
A little text manipulation class. Transformations available are justifying, spliting, croping, clipping…
FileType:
- Use the Commands module.
- Add extractable? and installable? methods.
- Add priorities for extensions.
- Clean the declaration syntax for extensions.
- Add many unit tests.
- Add gem filetype support (with the install method).
MetaFactory:
A class that help to produce objects which share the same initializion step.
Html encode:
Support accent encoding for the iso latin1 charset.
URI:
Support for MySQL and PgSQL.
HashEval:
Provides a block in which methods name are keys and arguments/blocks are values.
SymTbl (Symbol Table):
Add symtbl_gsub methods which provide a global substitution sheme over any objects.
CoreEx 0.3
October 3rd, 2005
CoreEx, A proposal for a standard library extension.
CoreEx is designed to provides a simple but quite useful extension of the standard library of Ruby. So some classes and modules like Pathname, Time, Enumerable, Exception, FileUtils, String, and YAML are extended. There is also some new features like attr_once, DTime, TempPath, Version, embedded_tests, filelist (almost from rake), a common Rakefile, and an extension of the require system.
- api homepage: api.feydakins.org/core_ex
- rubyforge: rubyforge.org/projects/ttk
Changes:
Architecture:
- Need activesupport ~> 1.1.1.
- No more custom require/load/autoload.
- Many changes to be closer of the activesupport dependency system.
- No more use the auto_require feature of rubygems.
- Add an automated vendor directory support.
- No more use `ask’ but HighLine in Rakefiles.
Module:
- mix_in_with_args.rb:
Provides `mixin’ which is like `include’ but can receive arguments. A module can aslo be setup by two blocks `setup’ and `teardown’. Which are run in the class context, before and after the real inclusion.
- import.rb:
Allow to write MyFavoriteModule.import! to load or require a module managed by Dependencies of activesupport.
Object:
- instance_eval_with_args.rb:
Makes the instance_eval method of Object support arguments.
- the_first_time.rb:
This method takes a block. It ensures that the code will be run only once. You can use this method only once per file.
- singleton_class.rb:
Provides an access to the singleton class of an object. Also provides singleton_class_eval, undef_singleton_method, define_singleton_method.
Yaml:
- Better option handling in yaml extensions.
- Inlines little hashs and arrays (with the Inline option set to true).
PathList:
- Improves PathList#each, and support aliases in Yaml.
- Many other improvements.
TempPath:
Add TempPath.fork_init that initialize a child of a fork.
Uttk, a new name, and a new domain name
September 5th, 2005
TTK TestToolKit is the main project hosted by Feydakins.Org. It aims at easing the test stage during the development of a project.
For many reasons we have decided to rename this project to Uttk. Uttk stands for Unified Test Tool Kit. We have also chosen a domain name: uttk.org.
Currently on uttk.org you can find the hieraki bookshelf containing some informations about it, and a tutorial.
You can also find at dev.uttk.org a brand new web application to ease the development. This great rails application can be reach at collaboa.org.
The renaming process will be finished soon.
And new releases will come soon too !!
Release of CoreEx 0.2
June 27th, 2005
CoreEx, A proposal for a standard library extension.
CoreEx is designed to provides a simple but quite useful extension of the standard library of Ruby. So some classes and modules like Pathname, Time, Enumerable, Exception, FileUtils, String, and YAML are extended. There is also some new features like attr_once, DTime, TempPath, Version, embedded_tests, filelist (almost from rake), a common Rakefile, and an extension of the require system.
- homepage: feydakins.org
- api homepage: api.feydakins.org
- rubyforge: rubyforge.org/projects/ttk
Changes:
New in 0.2, Fri, 24 Jun 2005:
Yaml:
Great improvement of the Yaml extension, new Yaml types are now absolutly easy and clean to define.
PathList:
PathList is based on the Rake FileList class. PathList contains pathnames, and some interestings improvements.
DumpableProc:
You can simply initialize a DumpableProc with a String, and keep this String to allow the dump of that proc.