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 `�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出てるけど。