Hello Steve,<br><br>thanks for what found and did.<br>I had three errors too running the tests though I don't remember what, on an Ubuntu 8.04 server too on Amazon EC2.<br>When I deploy rails from trunk on another machine I'll hopefully have no more errors running the tests.<br>
<br>Thank you very much, take care,<br><br>Jonathan<br><br><div class="gmail_quote">On Sun, Jan 17, 2010 at 5:50 PM, Steve <span dir="ltr"><<a href="mailto:steveh1966@msn.com">steveh1966@msn.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">








<div link="blue" vlink="purple" lang="EN-US">

<div>

<p class="MsoNormal">Hi everyone,</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Ubuntu server 8.04.3 install</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Whenever I ran 'rake test', I would get 3 unit errors and 39
functional failures ie:</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">  1) Error:</p>

<p class="MsoNormal">test_create(NodeTest):</p>

<p class="MsoNormal">OSM::APIChangesetAlreadyClosedError: The changeset 1 was
closed at Tue Jan 12 18:46:10 UTC 2010</p>

<p class="MsoNormal">    lib/consistency_validations.rb:29:in
`check_create_consistency'</p>

<p class="MsoNormal">    app/models/node.rb:180:in
`create_with_history'</p>

<p class="MsoNormal">    /test/unit/node_test.rb:85:in
`test_create'</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">with the 2nd and 3rd errors always complaining about
changeset closed also, and functional test errors like:</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal"> 36) Failure:</p>

<p class="MsoNormal">test_update_relation_tags_via_upload(RelationControllerTest)</p>

<p class="MsoNormal">   
[/test/functional/relation_controller_test.rb:835:in `with_update_diff'</p>

<p class="MsoNormal">    
/test/functional/../test_helper.rb:86:in `with_controller'</p>

<p class="MsoNormal">    
/test/functional/relation_controller_test.rb:825:in `with_update_diff'</p>

<p class="MsoNormal">    
/test/functional/relation_controller_test.rb:314:in
`test_update_relation_tags_via_upload'</p>

<p class="MsoNormal">    
/test/functional/relation_controller_test.rb:792:in `with_relation'</p>

<p class="MsoNormal">    
/test/functional/relation_controller_test.rb:307:in `test_update_relation_tags_via_upload']:</p>

<p class="MsoNormal">can't upload diff relation: The changeset 2 was closed at
Wed Jan 13 06:27:56 UTC 2010.</p>

<p class="MsoNormal">Expected response to be a <:success>, but was
<409> </p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Again, complaining about closed changesets.</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Finally, after five (possibly more) OS, Ruby, Rails and Rails_port
reinstalls, decided to look at the code even though previous posts concerning
this error were always thought to be ruby/rails, or outdated svn rails_port
problems. <a href="http://www.mail-archive.com/dev@openstreetmap.org/msg07830.html" target="_blank">http://www.mail-archive.com/dev@openstreetmap.org/msg07830.html</a></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Found that in /app/models/changeset.rb open changesets are determined
by, </p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">  def is_open?</p>

<p class="MsoNormal">    return ((closed_at > Time.now.getutc)
and (num_changes <= MAX_ELEMENTS))</p>

<p class="MsoNormal">  end</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Here the Ruby 'Time' function is called referencing UTC, but
in /tests/fixtures/changsets.yml the 'Open" changesets were polulated with:</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">  closed_at: <%= DateTime.now + Rational(1,24) %></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Ruby 'Time' and "DateTime' are not interchangeable:
<a href="http://stackoverflow.com/questions/279769/convert-to-from-datetime-and-time-in-ruby" target="_blank">http://stackoverflow.com/questions/279769/convert-to-from-datetime-and-time-in-ruby</a></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">They are 2 defferent classes.</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">I modified my local changesets.yml to use Time.now.utc only,
ie:</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal"># Read about fixtures at
<a href="http://ar.rubyonrails.org/classes/Fixtures.html" target="_blank">http://ar.rubyonrails.org/classes/Fixtures.html</a></p>

<p class="MsoNormal">normal_user_first_change:</p>

<p class="MsoNormal">  id: 1</p>

<p class="MsoNormal">  user_id: 1</p>

<p class="MsoNormal">  created_at: "2007-01-01 00:00:00"</p>

<p class="MsoNormal">  closed_at: <%= Time.now.utc + 86400 %></p>

<p class="MsoNormal">  min_lon: <%= 1 * SCALE %></p>

<p class="MsoNormal">  min_lat: <%= 1 * SCALE %></p>

<p class="MsoNormal">  max_lon: <%= 5 * SCALE %></p>

<p class="MsoNormal">  max_lat: <%= 5 * SCALE %></p>

<p class="MsoNormal">  num_changes: 11</p>

<p class="MsoNormal">  </p>

<p class="MsoNormal">public_user_first_change:</p>

<p class="MsoNormal">  id: 2</p>

<p class="MsoNormal">  user_id: 2</p>

<p class="MsoNormal">  created_at: <%= Time.now.utc %></p>

<p class="MsoNormal">  closed_at: <%= Time.now.utc + 86400 %></p>

<p class="MsoNormal">  num_changes: 0</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Where the 86400 is 24 hours in seconds, and all 3 errors and
39 failures disappeared, and 100% 'rake test's’ now pass!</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Haven't looked into why DateTime would work on some installs
and not others, (timezone, local date format??) but just fixing the
changesets.yml to be consistent with how the open changeset is being determined
seems to work like it should.</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Would someone with svn write capability want to update
changesets.yml?  I can post the code as the file is not too long.</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Bye,</p>

<p class="MsoNormal">Steve</p>

</div>

</div>


<br>_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@openstreetmap.org">dev@openstreetmap.org</a><br>
<a href="http://lists.openstreetmap.org/listinfo/dev" target="_blank">http://lists.openstreetmap.org/listinfo/dev</a><br>
<br></blockquote></div><br>