christopherjwhite / org-toodledo

Emacs enhancement for syncing org-mode tasks with Toodledlo
83 stars 16 forks source link

Two failed tests #4

Closed mrvdb closed 12 years ago

mrvdb commented 12 years ago

Running the org-toodledo-test command reported two failed tests in the log.

Version info:

Log:

Starting tests
TEST: Creating 3 tasks
TEST: Syncing 3 tasks
PASSED: Verify buffer #<buffer *Org-toodledo-test-2*> has 3 tasks
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 1
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 2
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 3
TEST: Modifying Task 1
PASSED: Find task 'Task 1' in buffer '#<buffer *Org-toodledo-test-2*>'
PASSED: Synced out 1 modified task
TEST: Syncing modified Task 1
PASSED: Synced in 1 modified task
**FAILED: Verify buffer #<buffer *Org-toodledo-test-1*> has 3 tasks [4 != 3]**
PASSED: Find task in buffer #<buffer *Org-toodledo-test-1*>: Task 1 - modified
PASSED: Find task in buffer #<buffer *Org-toodledo-test-1*>: Task 2
PASSED: Find task in buffer #<buffer *Org-toodledo-test-1*>: Task 3
TEST: Modifying Task 3
PASSED: Find task 'Task 3' in buffer '#<buffer *Org-toodledo-test-1*>'
PASSED: Synced out 1 modified task
TEST: Syncing modified Task 3
PASSED: Synced in 1 modified task
PASSED: Verify buffer #<buffer *Org-toodledo-test-2*> has 3 tasks
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 1 - modified
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 2
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 3 - modified
TEST: Comparing all tasks between buffers
PASSED: Find task 'Task 1 - modified' in buffer '#<buffer *Org-toodledo-test-1*>'
PASSED: Find task 'Task 2' in buffer '#<buffer *Org-toodledo-test-1*>'
PASSED: Find task 'Task 3 - modified' in buffer '#<buffer *Org-toodledo-test-1*>'
TEST: Cleanup
TEST: Encoding special characters
Initializing buf2: (7 4 3 0 0 0)
Initializing buf1: (7 4 3 0 0 0)
PASSED: Synced out 1 new task with special chars
**FAILED: Synced in 1 task with special chars [(8 5 3 0 0 0) != (1 1 0 0 0 0)]**
PASSED: Find task 'Task é字' in buffer '#<buffer *Org-toodledo-test-1*>'
TEST: Cleanup
TEST: Create 60 tasks
christopherjwhite commented 12 years ago

Hi Marcel,

Thanks for running the tests -- this is good feedback. If you run this a multiple times, does it always fail on the same two tests, or are the failures different each time? I think I'll probably need to add more debug messages to see what's going on. It seems as if the task synchronization is working, but it is sometimes bringing in extra tasks or possibly not updating the local copy of the task correctly.

Thanks ...cj

On Tue, 3 Jan 2012 08:02:31 -0800 Marcel van der Boom reply@reply.github.com wrote:

Running the org-toodledo-test command reported two failed tests in the log.

Version info:

  • GNU Emacs 24.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.6)
  • Org-mode version 7.8.02 (release_7.8.02.32.gc2de)

Log:

Starting tests
TEST: Creating 3 tasks
TEST: Syncing 3 tasks
PASSED: Verify buffer #<buffer *Org-toodledo-test-2*> has 3 tasks
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 1
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 2
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 3
TEST: Modifying Task 1
PASSED: Find task 'Task 1' in buffer '#<buffer *Org-toodledo-test-2*>'
PASSED: Synced out 1 modified task
TEST: Syncing modified Task 1
PASSED: Synced in 1 modified task
**FAILED: Verify buffer #<buffer *Org-toodledo-test-1*> has 3 tasks
[4 != 3]** PASSED: Find task in buffer #<buffer
*Org-toodledo-test-1*>: Task 1 - modified PASSED: Find task in buffer
#<buffer *Org-toodledo-test-1*>: Task 2 PASSED: Find task in buffer
#<buffer *Org-toodledo-test-1*>: Task 3 TEST: Modifying Task 3
PASSED: Find task 'Task 3' in buffer '#<buffer *Org-toodledo-test-1*>'
PASSED: Synced out 1 modified task
TEST: Syncing modified Task 3
PASSED: Synced in 1 modified task
PASSED: Verify buffer #<buffer *Org-toodledo-test-2*> has 3 tasks
PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>: Task 1 -
modified PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>:
Task 2 PASSED: Find task in buffer #<buffer *Org-toodledo-test-2*>:
Task 3 - modified TEST: Comparing all tasks between buffers
PASSED: Find task 'Task 1 - modified' in buffer '#<buffer
*Org-toodledo-test-1*>' PASSED: Find task 'Task 2' in buffer
'#<buffer *Org-toodledo-test-1*>' PASSED: Find task 'Task 3 -
modified' in buffer '#<buffer *Org-toodledo-test-1*>' TEST: Cleanup
TEST: Encoding special characters
Initializing buf2: (7 4 3 0 0 0)
Initializing buf1: (7 4 3 0 0 0)
PASSED: Synced out 1 new task with special chars
**FAILED: Synced in 1 task with special chars [(8 5 3 0 0 0) != (1 1
0 0 0 0)]** PASSED: Find task 'Task é字' in buffer '#<buffer
*Org-toodledo-test-1*>' TEST: Cleanup
TEST: Create 60 tasks

Reply to this email directly or view it on GitHub: https://github.com/christopherjwhite/org-toodledo/issues/4

mrvdb commented 12 years ago

I ran the test command 3 times in succession without changing anything in between. The runs are different in their failures.

Output :

christopherjwhite commented 12 years ago

Hey Marcel,

I enhanced debugging and also created a test account on toodledo.com that is used for running the tests. The new debugging will log a lot more info when a test fails. I'm not having any trouble running the devtest on my end.

Can you try running the tests again, and if it fails save a copy of the buffer 'Org-toodledo-debug'? Hopefully this will help identify where thing are going wrong. Note that with the recent changes, it should ask to switch to the test account and thus the buffer should not have any of your personal information in it, but please take a look before you post it just to be sure.

christopherjwhite commented 12 years ago

I think I may have nailed this with my latest changes. I found some time comparison issues in the code that were sometimes causing duplicate tasks. In addition, I added delays in the test because it was sometimes syncing back and forth with the server that changes could not be detected because the timestamps are only at a granularity of 1 second. I added significant debugging that should really nail the problem if occurs again. Please let me know if this looks better on your end.

mrvdb commented 12 years ago

Reran the tests after pulling, no failures this time! Thanks!

christopherjwhite commented 12 years ago

That was quick! Thanks for the update, good to hear. I made a bunch of changes in the last round that feel like it should make things much more stable.

...cj

On Tue, 31 Jan 2012 06:34:12 -0800 Marcel van der Boom reply@reply.github.com wrote:

Reran the tests after pulling, no failures this time! Thanks!


Reply to this email directly or view it on GitHub: https://github.com/christopherjwhite/org-toodledo/issues/4#issuecomment-3740010