Initial run of RSpec 1.0.8 on MS-WinXPproSP2

ENV

Rails 1.2.5
Ruby 1.8.6
Rake 0.7.3
RSpec 1.0.8
PostgreSQL 8.2.5
MicroSoft Windows XP pro SP2

I am experiencing a problem with the “rake spec spec\models” task on an
initialtrial of rspec. After creating the rails app I installed rspec
and
rspec_on_rails in the vendor\plugins subdirectory from svn. I then used
ruby script\generate rspec_model product. I next manually created the
database instances depot_development and depot_test via pgAdmin III. I
then confirmed rails configuration connectivity by running rake
db:migrate
from the app root.

However, when I run rake spec spec\models for the first time, without
modifying the product_rspec.rb file, I get this:

C:\Documents and Settings\byrnejb\My Documents
My Projects\ca.harte-lyne.system\pragdepot

rake spec spec\models --trace
(in C:/Documents and Settings/byrnejb/
My Documents/MyProjects/ca.harte-lyne.system/pragdepot)
** Invoke spec (first_time)
** Invoke db:test:prepare (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:test:prepare
** Invoke db:test:clone (first_time)
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
** Execute db:test:clone
** Invoke db:schema:load (first_time)
** Invoke environment
** Execute db:schema:load
rake aborted!
PGError: ERROR: relation “pg_ts_cfg” already exists
: CREATE TABLE pg_ts_cfg (“ts_name” text NOT NULL, “prs_name” text
NOT NULL, “locale” text DEFAULT NULL)
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/
active_record/connection_adapters/abstract_adapter.rb:128:in log' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/ active_record/connection_adapters/postgresql_adapter.rb:152:in execute’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/
active_record/connection_adapters/abstract/
schema_statements.rb:104:in create_table' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/ active_record/migration.rb:275:in send’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/
active_record/migration.rb:275:in method_missing' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/ active_record/migration.rb:259:in say_with_time’
C:/usr/local/bin/ruby/lib/ruby/1.8/benchmark.rb:293:in measure' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/ active_record/migration.rb:259:in say_with_time’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/
active_record/migration.rb:273:in method_missing' ./db/schema.rb:7 C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/ active_record/schema.rb:43:in instance_eval’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/
active_record/schema.rb:43:in define' ./db/schema.rb:5 C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/ active_support/dependencies.rb:488:in load’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/
active_support/dependencies.rb:488:in load' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/ active_support/dependencies.rb:342:in new_constants_in’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/
active_support/dependencies.rb:488:in load' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/ tasks/databases.rake:31 C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:392:in call’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:392:in execute' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:392:in each’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:392:in execute' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:362:in invoke’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:355:in synchronize' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:355:in invoke’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/
tasks/databases.rake:76
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:392:in call' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:392:in execute’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:392:in each' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:392:in execute’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:362:in invoke' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:355:in synchronize’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:355:in invoke' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/ tasks/databases.rake:153 C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:392:in call’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:392:in execute' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:392:in each’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:392:in execute' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:362:in invoke’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:355:in synchronize' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:355:in invoke’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:369:in invoke_prerequisites' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:1003:in each’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:1003:in send' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:1003:in each’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:368:in invoke_prerequisites' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:361:in invoke’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:355:in synchronize' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:355:in invoke’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:1739:in top_level' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:1739:in each’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:1739:in top_level' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:1761:in standard_exception_handling’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:1733:in top_level' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:1711:in run’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/
rake.rb:1761:in standard_exception_handling' C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ rake.rb:1708:in run’
C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/bin/rake:7
C:/usr/local/bin/ruby/bin/rake.bat:20:in `load’
C:/usr/local/bin/ruby/bin/rake.bat:20

C:\Documents and Settings\byrnejb\My Documents\My
Projects\ca.harte-lyne.system\pragdepot>

Running rake spec:models gives the same results. I get this error
whether
or not the RSpec gem is installed. Is this a problem with the ruby
postgresql adapter and this version of pstgreSQL? Have I missed some
critical setup item? Any help would be greatly appreciated.

Regards,


*** E-Mail is NOT a SECURE channel ***
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3

On Nov 22, 2007 3:29 PM, James B. Byrne [email protected] wrote:

ENV

Rails 1.2.5
Ruby 1.8.6
Rake 0.7.3
RSpec 1.0.8

RSpec 1.0.8 supports rails 1.2.3 or earlier. If you want to work w/
anything later than Rails 1.2.3 you’ll need rspec’s trunk.

On Thu, November 22, 2007 16:31, David C. wrote:

RSpec 1.0.8 supports rails 1.2.3 or earlier. If you want to work w/
anything later than Rails 1.2.3 you’ll need rspec’s trunk.


rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

I deleted the rpsec gem and the rspec and rpec_on_rails plugins. I then
installed rspec from the trunk (svn://rubyforge.org/var/svn/rspec/trunk)
via Tortoise SVN. I deleted the ./spec directory tree from the app root
and ran ruby script/generate rspec_model product. When I run rake
spec:models I get the same error.

Regards,

P.S.

rake doc:plugins produces no output for the trunk version of rspec. Is
this expected behaviour or does it indicate a problem?

C:\Documents and Settings\byrnejb\My Documents\My
Projects\ca.harte-lyne.system\pragdepot>rake doc:plugins
(in C:/Documents and Settings/byrnejb/My Documents/
My Projects/ca.harte-lyne.system/pragdepot)
rdoc.bat -o doc/plugins/rspec --title ‘Rspec Plugin Documentation’
–line-numbers --inline-source -T html --main ‘vendor/plugins/rspec/
README’ vendor/plugins/rspec/README

                         README:

Generating HTML…

Files: 1
Classes: 0
Modules: 0
Methods: 0
Elapsed: 0.313s

??


*** E-Mail is NOT a SECURE channel ***
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3

On Nov 22, 2007 4:06 PM, James B. Byrne [email protected] wrote:

I deleted the rpsec gem and the rspec and rpec_on_rails plugins. I then
installed rspec from the trunk (svn://rubyforge.org/var/svn/rspec/trunk)
via Tortoise SVN. I deleted the ./spec directory tree from the app root
and ran ruby script/generate rspec_model product. When I run rake
spec:models I get the same error.

Did you run this?

ruby script/generate rspec

Here’s the order of things:

rails pragdepot
cd pragdepot
ruby script/plugin install http://rspec.rubyforge.org/svn/trunk/rspec
ruby script/plugin install
http://rspec.rubyforge.org/svn/trunk/rspec_on_rails
ruby script/generate rspec
ruby script/generate rspec_model product
rake db:migrate
rake spec:models

The db creation should happen some time before running rake db:migrate.

HTH,
David

On Thu, November 22, 2007 17:42, David C. wrote:
model product. When I run rake

ruby script/plugin install http://rspec.rubyforge.org/svn/trunk/rspec
ruby script/plugin install
http://rspec.rubyforge.org/svn/trunk/rspec_on_rails
ruby script/generate rspec
ruby script/generate rspec_model product
rake db:migrate
rake spec:models

The db creation should happen some time before running rake db:migrate.

I installed the rspec and rspec_on_rails plugins from this url and I now
get an error in script/generate rspec_models that was not present in the
version that I installed them via svn from the trunk. The error is:

$ rake spec:models --trace
(in /home/byrnejb/Software/Development/Projects/rspectest)
** Invoke spec:models (first_time)
** Invoke db:test:prepare (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:test:prepare
** Invoke db:test:clone (first_time)
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
** Execute db:test:clone
** Invoke db:schema:load (first_time)
** Invoke environment
** Execute db:schema:load
NOTICE: CREATE TABLE will create implicit sequence “movements_id_seq”
for
serial column “movements.id”
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
“movements_pkey” for table “movements”
NOTICE: CREATE TABLE will create implicit sequence “products_id_seq”
for
serial column “products.id”
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
“products_pkey” for table “products”
** Execute spec:models
/home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/lib/spec/version.rb:10:
undefined method []' for nil:NilClass (NoMethodError) from /home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/lib/spec.rb:1:in require’
from
/home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/lib/spec.rb:1
from
/home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/bin/spec:2:in
require' from /home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/bin/spec:2 rake aborted! Command ruby -I"/home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/lib" "/home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/bin/spec" "spec/models/product_spec.rb" --options "/home/byrnejb/Software/Development/Projects/rspectest/config/../spec/spec.opts" failed /home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/lib/spec/rake/spectask.rb:173:in define’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:823:in verbose' /home/byrnejb/Software/Development/Projects/rspectest/vendor/plugins/rspec/lib/spec/rake/spectask.rb:142:in define’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in call' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in execute’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in each' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:392:in execute’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:362:in invoke' /usr/lib/ruby/1.8/thread.rb:135:in synchronize’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:355:in invoke' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:in top_level’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:in each' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:in top_level’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1761:in
standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1733:in top_level’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1711:in run' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1761:in standard_exception_handling’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1708:in run' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/bin/rake:7 /usr/bin/rake:16:in load’
/usr/bin/rake:16

the code is:


module Spec
module VERSION
unless defined? MAJOR
MAJOR = 1
MINOR = 1
TINY = 0
RELEASE_CANDIDATE = nil

  # RANDOM_TOKEN: 0.885013695004692
  REV = "$LastChangedRevision$".match(/LastChangedRevision: 

(\d+)/)[1]

  STRING = [MAJOR, MINOR, TINY].join('.')
  TAG = "REL_#{[MAJOR, MINOR, TINY,

RELEASE_CANDIDATE].compact.join(‘')}".upcase.gsub(/.|-/, '’)
FULL_VERSION = “#{[MAJOR, MINOR, TINY,
RELEASE_CANDIDATE].compact.join(‘.’)} (r#{REV})”

  NAME   = "RSpec"
  URL    = "http://rspec.rubyforge.org/"

  DESCRIPTION = "#{NAME}-#{FULL_VERSION} - BDD for Ruby\n#{URL}"
end

end
end
<—

The same error occurs on both Linux CentOS 5 and MicroSoft Windows XP
pro.
Rails 1.2.5/1.2.5 Ruby 1.8.5/1.8.5 PostgreSQL 8.1.9 / 8.2.5


*** E-Mail is NOT a SECURE channel ***
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3

On Nov 23, 2007 9:07 AM, James B. Byrne [email protected] wrote:

The same error occurs on both Linux CentOS 5 and MicroSoft Windows XP pro.
Rails 1.2.5/1.2.5 Ruby 1.8.5/1.8.5 PostgreSQL 8.1.9 / 8.2.5

Unfortunately, I don’t have these environments set up so somebody else
is going to have to help here. Anybody else w/ the same configuration
able to help James out here?

I found this message:

—>
aslak hellesoy aslak.hellesoy at gmail.com
Wed Nov 1 14:00:03 EST 2006

* Previous message: [rspec-devel] [ rspec-Bugs-6411 ] Can't run 

Rails
specs with ruby
* Next message: [rspec-devel] script/generate rspec issue on trunk
(rev 1021)
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

The short version: Developers must run pre_commit prior to
committing - it’s more important than before.

The longer version:

Several people are experiencing problems because they have an RSpec on
Rails plugin that is incompatible with their installed RSpec gem.
Because I’m lazy I made RSpec on Rails able to detect
incompatibilities on its own.

There are now two files in our codebase that store the current svn
revision in their source (via the svn:externals feature -
Properties):

lib/spec/version.rb
vendor/rspec_on_rails/vendor/plugins/rspec/lib/spec/rails/version.rb

The latter, when loaded (it’s required by rspec_on_rails.rb) will
check that the rev numbers are the same in those two files. If they
are not, an exception is thrown with a message to the user describing
what to do.

In order to ensure that these two files get updated with the current
svn revision numbers during a commit it is MANDATORY that rake
pre_commit be run prior to a commit. This will modify those files with
a random comment, which will in turn cause svn to update the
$LastChangedRevision tokens in those files during the next commit.
(Without this random modification svn will not update the
$LastChangedRevision tokens in those files).

It’s a little bit of magic, but it will help us in the long run.

Aslak
<—

and this one:

—>
Re: Incompatibility Issues after updating CURRENT
Posted by David C. (Guest)
on 11.10.2007 20:01
(Received via mailing list)

On 10/11/07, George A. [email protected] wrote:


Fetching remote repository’s latest revision and UUID
unchanged from revision 2338

############################################################################
That is VERY odd. That was a bug in the 1.0.7 release, which is why we
released 1.0.8 right on its heels. But that was over a month ago.

I see this in CURRENT/rspec/lib/spec/version.rb:

  MAJOR  = 1
  MINOR  = 0
  TINY   = 8


REV = “$LastChangedRevision: 2338 $”.match(/LastChangedRevision:
(\d+)/)[1]

… and this in CURRENT/rspec_on_rails/lib/spec/rails/version.rb

    REV = "$LastChangedRevision: 2338

$".match(/LastChangedRevision: (\d+)/)[1]

So they should be aligning just fine. Sounds like something’s wrong
when you update from piston. Not sure how or why.

<—

Now, the version.rb that is loaded from
http://rspec.rubyforge.org/svn/trunk/rspec
has only this:

—>
module Spec
module VERSION
unless defined? MAJOR
MAJOR = 1
MINOR = 1
TINY = 0
RELEASE_CANDIDATE = nil

  # RANDOM_TOKEN: 0.885013695004692
  REV = "$LastChangedRevision$".match(/LastChangedRevision: 

(\d+)/)[1]
<—

One cannot but notice the absence of any digits in the REV = string. Is
this the source (sink) of the [] nil object?

Regards,


*** E-Mail is NOT a SECURE channel ***
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3

On Fri, November 23, 2007 23:08, James B. Byrne wrote:

I found this message:

  MINOR  = 1
  TINY   = 0
  RELEASE_CANDIDATE = nil

  # RANDOM_TOKEN: 0.885013695004692
  REV = "$LastChangedRevision$".match(/LastChangedRevision: (\d+)/)[1]

<—

One cannot but notice the absence of any digits in the REV = string. Is
this the source (sink) of the [] nil object?

So. I went to the rubyforge trac site and found what the svn version.rb
said and from that information I manually changed my copies in rspec and
rspec_on_rails to have this:

     REV = "$LastChangedRevision: 2757 

$".match(/LastChangedRevision:
(\d+)/)[1]

and now all is good.


*** E-Mail is NOT a SECURE channel ***
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3

On Fri, November 23, 2007 23:24, David C. wrote:

That’s a bug. Please report bugs to http://rspec.lighthouseapp.com/.

Your bug sir:

Ticket #139
James B. Byrne
version.rb in trunk missing svn last changed number

Regards,


*** E-Mail is NOT a SECURE channel ***
James B. Byrne mailto:[email protected]
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3