DAVの実装をテストするくん

うらーーーーーー
久しぶりにアッチやる。
http://www.webdav.org/neon/litmus/ これ入れて

litmus -k http://dav.lopnor.homeip.net/dav/

などする。いろいろ忘れてて厳しい。現状はこんな感じ。Net::DAV::ServerをいじってiPod Photo Cacheがちゃんとできる程度まで持っていくのが目標。

[danjou@guido] $ litmus -k http://dav.lopnor.homeip.net/dav/
-> running `basic':
 0. init.................. pass
 1. begin................. pass
 2. options............... pass
 3. put_get............... pass
 4. put_get_utf8_segment.. pass
 5. mkcol_over_plain...... pass
 6. delete................ pass
 7. delete_null........... pass
 8. delete_fragment....... pass
 9. mkcol................. pass
10. mkcol_again........... pass
11. delete_coll........... pass
12. mkcol_no_parent....... pass
13. mkcol_with_body....... pass
14. finish................ pass
<- summary for `basic': of 15 tests run: 15 passed, 0 failed. 100.0%
-> running `copymove':
 0. init.................. pass
 1. begin................. pass
 2. copy_init............. pass
 3. copy_simple........... pass
 4. copy_overwrite........ pass
 5. copy_nodestcoll....... pass
 6. copy_cleanup.......... pass
 7. copy_coll............. pass
 8. copy_shallow.......... pass
 9. move.................. pass
10. move_coll............. pass
11. move_cleanup.......... pass
12. finish................ pass
<- summary for `copymove': of 13 tests run: 13 passed, 0 failed. 100.0%
-> running `props':
 0. init.................. pass
 1. begin................. pass
 2. propfind_invalid...... pass
 3. propfind_invalid2..... FAIL (PROPFIND with invalid namespace declaration in body (see FAQ) got 200 response not )
 4. propfind_d0........... FAIL (No responses returned)
 5. propinit.............. pass
 6. propset............... pass
 7. propget............... FAIL (No responses returned)
 8. propextended.......... pass
 9. propmove.............. pass
10. propget............... FAIL (No responses returned)
11. propdeletes........... pass
12. propget............... FAIL (No responses returned)
13. propreplace........... pass
14. propget............... FAIL (No responses returned)
15. propnullns............ pass
16. propget............... FAIL (No responses returned)
17. prophighunicode....... pass
18. propget............... FAIL (No responses returned)
19. propremoveset......... pass
20. propget............... FAIL (No responses returned)
21. propsetremove......... pass
22. propget............... FAIL (No responses returned)
23. propvalnspace......... pass
24. propwformed........... pass
25. propinit.............. pass
26. propmanyns............ pass
27. propget............... FAIL (No responses returned)
28. propcleanup........... pass
29. finish................ pass
<- summary for `props': of 30 tests run: 19 passed, 11 failed. 63.3%
-> running `locks':
 0. init.................. pass
 1. begin................. pass
 2. options............... pass
 3. precond............... pass
 4. init_locks............ pass
 5. put................... pass
 6. lock_excl............. pass
 7. discover.............. pass
 8. refresh............... FAIL (LOCK refresh on `/dav/litmus/lockme': 423 Locked)
 9. notowner_modify....... FAIL (DELETE of locked resource should fail)
10. notowner_lock......... FAIL (UNLOCK with bogus lock token)
11. owner_modify.......... pass
12. notowner_modify....... FAIL (DELETE of locked resource should fail)
13. notowner_lock......... FAIL (UNLOCK with bogus lock token)
14. copy.................. pass
15. cond_put.............. SKIPPED
16. fail_cond_put......... SKIPPED
17. cond_put_with_not..... FAIL (PUT with conditional (Not <DAV:no-lock>) failed: 423 Locked)
18. cond_put_corrupt_token pass
19. complex_cond_put...... SKIPPED
20. fail_complex_cond_put. SKIPPED
21. unlock................ pass
22. fail_cond_put_unlocked FAIL (conditional PUT with invalid lock-token should fail: 201 CREATED)
23. lock_shared........... pass
24. notowner_modify....... FAIL (DELETE of locked resource should fail)
25. notowner_lock......... FAIL (UNLOCK with bogus lock token)
26. owner_modify.......... pass
27. double_sharedlock..... FAIL (shared LOCK on locked resource:
423 Locked)
28. notowner_modify....... FAIL (DELETE of locked resource should fail)
29. notowner_lock......... FAIL (UNLOCK with bogus lock token)
30. unlock................ pass
31. prep_collection....... pass
32. lock_collection....... FAIL (PUT of `&#65533;Q/litmus/lockcoll/lockme.txt': 423 Locked)
33. owner_modify.......... FAIL (PUT on locked resource failed: 423 Locked)
34. notowner_modify....... WARNING: DELETE failed with 404 not 423
    ...................... FAIL (MOVE of locked resource should fail)
35. refresh............... FAIL (LOCK refresh on `/dav/litmus/lockcoll/': 423 Locked)
36. indirect_refresh...... FAIL (indirect refresh LOCK on /dav/litmus/lockcoll/ via /dav/litmus/lockcoll/lockme.txt:)
37. unlock................ pass
38. finish................ pass
-> 4 tests were skipped.
<- summary for `locks': of 35 tests run: 18 passed, 17 failed. 51.4%
-> 1 warning was issued.
-> running `http':
 0. init.................. pass
 1. begin................. pass
 2. expect100............. pass
 3. finish................ pass
<- summary for `http': of 4 tests run: 4 passed, 0 failed. 100.0%

→mod_davくんはさすがに全部クリアするなー。2カ所warning出てるけど。