*??????????? failure ?????????磬??????? DataNode ????? NameNode ?????????? test harness ??????? mock DataNode ?????????????????????????? NameNode ????? DataNode ?Ч???????????? test harness ??????????????????ɡ?????????????????????? Test harness ???????????ɡ?????????????????????????
    *??????????????????????????????????Щ??????????????????Щ?????????????
    *??????????????? test cases ????????????????????д??????????????????????????????? C++ ????????? NameNode??????????????????á???? test harness ???????е????á?
    *???? bug ????? test harness ?????????? bug ?? test case????? bug ???test case ???????? harness ?У???????????(regression)??
    ??????
    *Test harness ???????????????????????????????????e??????????????????????????????????????????????????????????????
    *Test harness ???????????? TCP ????????????????????? NIO ????????????д?????????????
    *Test harness ????????????????????????????????????????????????????б????????????????????????????????????????? host:port ??? test harness??
    *Test harness ????????????? mock ??????????????????????????????????? mock DataNode ?????? NameNode ?????Yes sir?? ???????á??????????????????浽????????? mock ?????????????????á????+?????????????????????? test case ????(replay)?????????
    *???????? TCP Э?飬test harness ????????????????????????????????Э???С?????????ù????????? IPC????????????????????? muduo ????? protobuf ??????????????????????????? protobuf ?????????????????????? Java ? C++ ????????д test harness?????????????Э??????У????? XML ?? Json??
    *Test harness ?????????????????????????????????????????????????????????????????????????
    *????????Test harness ??????? test cases????? NameNode test case ???????????test harness ??? client ???? NameNode ???????????eg. ???????????NameNode ????????? mock DataNode??test harness ??? DataNode ??е??????NameNode ??? mock DataNode ??????????????? client????? test harness ????????????????
    *Test harness ?е? test cases ?????????????? test case ???????????????????????? test case ????????????????test harness ?? test cases ??????????????? version controlling ???????????????????????????κ?????汾??????????
    *?????????? test case?????????????????????????????????? test harness ?? Java д????????????? Groovy??????????????????????????????????????? Groovy ?????????????Groovy ???? test harness ????????????????????????????groovy ??????????????????????ж???????????????????????????????? test harness ??????????????????????????
    *Test harness ??????????????н??棬?????????run 10???????е? 10 ?? test case??
    ???????
    Test harness ?????????????????????????????????????????????? Hadoop ?е? NameNode ?? DataNode??????????????????
    1. chat ?????????
    ?????????????????????????????????? test harness ??? 5 ????????????????????????????????????????????????????????????
    2. ???????????????????????????????
    ????????????? blog ?????????????η???????http://blog.codingnow.com/2007/02/user_authenticate.html??http://blog.codingnow.com/2006/04/iocp_kqueue_epoll.html??http://blog.codingnow.com/2010/11/go_prime.html??????????????????????
    ??????????????д test harness????????????????????????????????????????????????????????????????????????????????????? test harness???????????????????????????????????????????????????????????????????????????????????????????硣
    ??????·????????????????д test harness????????????????????????д??????????????????????????
    3. ?? master ?????????
    ?????????????????????????? test harness ??? primary master  ?? secondary masters ??????????????????? primary master ?????test harness ???? name service ?? secondary masters??????? secondary master ?????test harness ???? name service??primary master?????? secondary masters??????????????????? failure ??????????????????????????? masters ??????????o?????????????????
    4. paxos ?????
    Paxos Э???????????????????????漰???????б???????????????????????д paxos ??????? test harness ????????????????????? paxos ???????????繃???μ??????????????????? failure ??????
    ??????
    ???????????? TCP ???? IO???????? TCP Э?鯔???????????? TCP ??????????????????????????????????
    ??????????????????????????????? select ?Щ????????????????????? test harness ???????? in-memory H2 DB engine?????????????????????????????????????????? DB driver ?????? H2 ??????????????H2 ??? JDBC ?? ???? ODBC???????????????б?????? SQL ??????? H2 ????????????????????????????????£??????????????????????????п?????????????????????С???????????????????????
    ???????????????? IO ??д log ?????????? DataNode ??????????????? test harness ?????? DataNode ?????????????????Щ failure cases ?????????????????????????? DataNode ??? tmpfs????????????????????????????????????????о????????? tmpfs ???????????????????????????д?????????????洢???????????Щ????????????????????????????ɡ??????? paxos ????????????? tmpfs ????? persist storage???? test case ?????????????????
    ???????
    Test harness ??????? features ?????????????б???????
    *????????????????????
    ???????????и??1????????????μ? request type?????????????????п???????????????????? A ??????????? B ??????????????????? A ????????μ???????????????????????????????????? B ????? A ????????μ????????????????????????????????????????????????????????????д???????????????????鹹?????????
    ??? A ?? B ???и???? test harness??????e??????????????????Э??????????????????? A ????????????? harness ????????? test case?????????? B ??е???????????????? hard code ?????????????????????????????ж???????????????? B ????????????飩???????? A ??????????????????????????????????? B ???????????? A ?ó????????????????????????????? harness ?????? test case?????????? A ??÷???????????????????????????1????????????????????????????????ò??????????????????????????????Э???в???£??????? harness ?е??? test cases????????? A/B ?????????????????????????????????????????
    *????????
    Test harness ?????????????書????????????????????? profiling ?á????練??????????????????????????????????????????? C++ д????? test harness ?? Java д????п?????? test harness ? CPU????????????????????????????????????????? C++ д???????????????
    С??
    ????????????? test harness ??????????????????а?????????????????????????????3??????????????????????????????????????
    ????????CSDN???????????????????http://blog.csdn.net/Solstice/archive/2011/04/25/6359748.aspx