.. -*- rst -*- .. highlightlang:: none ãã¹ãæ¹æ³ =========== ãã¹ãç°å¢ã®æ§ç¯ ---------------- Cutterã®ã¤ã³ã¹ãã¼ã« ^^^^^^^^^^^^^^^^^^^^ groongaã¯ããã¹ãã®ãã¬ã¼ã ã¯ã¼ã¯ã¨ã㦠Cutter_ ãç¨ãã¦ãã¾ãã Cutterã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã¯ ãã©ãããã©ã¼ã æ¯ã®Cutterã®ã¤ã³ã¹ãã¼ã«æ¹æ³_ ãã覧ä¸ããã .. _Cutter: http://cutter.sourceforge.net/ .. _ãã©ãããã©ã¼ã æ¯ã®Cutterã®ã¤ã³ã¹ãã¼ã«æ¹æ³: http://cutter.sourceforge.net/reference/ja/install.html lcovã®ã¤ã³ã¹ãã¼ã« ^^^^^^^^^^^^^^^^^^ ã«ãã¬ãã¸æ å ±ãè¨æ¸¬ããããã«ã¯ãlcov 1.6以ä¸ãå¿ è¦ã§ããDebianãUbuntuã§ã¯ä»¥ä¸ã®ããã«ãã¦ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã:: % sudo aptitude install -y lcov clangã®ã¤ã³ã¹ãã¼ã« ^^^^^^^^^^^^^^^^^^^ ã½ã¼ã¹ã³ã¼ãã®éç解æãè¡ãããã«ã¯ãclang(scan-build)ãã¤ã³ã¹ãã¼ã«ããå¿ è¦ãããã¾ããDebianãUbuntuã§ã¯ä»¥ä¸ã®ããã«ãã¦ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã:: % sudo aptitude install -y clang libmemcachedã®ã¤ã³ã¹ãã¼ã« ^^^^^^^^^^^^^^^^^^^^^^^^^^ memcachedã®ãã¤ããªãããã³ã«ã®ãã¹ããåä½ãããããã«ã¯ãlibmemcachedã®å°å ¥ãå¿ è¦ã§ããsqueeze以éã®DebianãKarmic以éã®Uubntuã§ã¯ä»¥ä¸ã®ç¨ã«ãã¦ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã:: % sudo aptitude install -y libmemcached-dev ãã¹ãã®åä½ ------------ groongaã®ããããã£ã¬ã¯ããªã§ã以ä¸ã®ã³ãã³ããå®è¡ãã¾ãã:: make check ã«ãã¬ãã¸æ å ± -------------- groongaã®ããããã£ã¬ã¯ããªã§ã以ä¸ã®ã³ãã³ããå®è¡ãã¾ãã:: make coverage ããã¨ãcoverageãã£ã¬ã¯ããªä»¥ä¸ã«ãã«ãã¬ãã¸æ å ±ãå ¥ã£ãhtmlãåºåããã¾ãã ã«ãã¬ãã¸ã«ã¯ãLines/Functions/Branchesã®3ã¤ã®å¯¾è±¡ãããã¾ãããããããè¡ï¼é¢æ°ï¼åå²ã«å¯¾å¿ãã¾ããFunctionsããã£ã¨ãéè¦ãªå¯¾è±¡ã§ãããã¹ã¦ã®é¢æ°ããã¹ããããããã«ãªã£ã¦ãããã¨ãå¿ããã¦ãã ããã ãã¹ããã«ãã¼ãã¦ããªãé¨åã®ç·¨éã¯æ éã«è¡ã£ã¦ãã ãããã¾ãããã¹ããã«ãã¼ãã¦ããé¨åãå¢ãããã¨ãéè¦ã§ãã æ§ã ãªãã¹ã ------------ ãã¹ãã¯ãtest/unitãã£ã¬ã¯ããªã«ããã¦ã./run-test.shãå®è¡ãããã¨ã«ãã£ã¦ãè¡ãã¾ããrun-test.shã¯ããã¤ãã®ãªãã·ã§ã³ãã¨ãã¾ãã詳細ã¯ã./run-test.sh --helpãå®è¡ããã«ããã覧ãã ããã ç¹å®ã®ãã¹ãé¢æ°ã®ã¿ãã¹ããã ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ç¹å®ã®ãã¹ãé¢æ°(Cutterã§ã¯ãã¹ãã¨å¼ã¶)ã®ã¿ããã¹ããããã¨ãã§ãã¾ãã å®è¡ä¾:: % ./run-test.sh -n test_text_otoj ç¹å®ã®ãã¹ããã¡ã¤ã«ã®ã¿ãã¹ããã ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ç¹å®ã®ãã¹ããã¡ã¤ã«(Cutterã§ã¯ãã¹ãã±ã¼ã¹ã¨å¼ã¶)ã®ã¿ãã¹ããããã¨ãã§ãã¾ãã å®è¡ä¾:: % ./run-test.sh -t test_string ä¸æ£ã¡ã¢ãªã¢ã¯ã»ã¹ã»ã¡ã¢ãªãªã¼ã¯æ¤åº ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ç°å¢å¤æ°CUTTER_CHECK_LEAKãyesã¨è¨å®ããã¨ãvalgrindãç¨ãã¦ä¸æ£ã¡ã¢ãªã¢ã¯ã»ã¹ãã¡ã¢ãªãªã¼ã¯ãæ¤åºãã¤ã¤ããã¹ããåä½ããããã¨ãã§ãã¾ãã run-test.shã®ã¿ãªãããmake checkã§ãå©ç¨å¯è½ã§ãã å®è¡ä¾:: % CUTTER_CHECK_LEAK=yes make check ãããã¬ä¸ã§ã®ãã¹ãå®è¡ ^^^^^^^^^^^^^^^^^^^^^^^^ ç°å¢å¤æ°CUTTER_DEBUGãyesã¨è¨å®ããã¨ããã¹ããå®è¡ã§ããç°å¢ãæ´ã£ãgdbãå®è¡ããã¾ããgdbä¸ã§runãè¡ãã¨ããã¹ãã®å®è¡ãéå§ããã¾ãã run-test.shã®ã¿ãªãããmake checkã§ãå©ç¨å¯è½ã§ãã å®è¡ä¾:: % CUTTER_DEBUG=yes make check éç解æ -------- scan-buildãç¨ãã¦ãã½ã¼ã¹ã³ã¼ãã®éç解æãè¡ããã¨ãã§ãã¾ããscan_buildã¨ãããã£ã¬ã¯ããªã«è§£æçµæã®htmlãåºåããã¾ãã:: % scan-build ./configure --prefix=/usr % make clean % scan-build -o ./scan_build make -j4 configureã¯ï¼åº¦ã®ã¿å®è¡ããå¿ è¦ãããã¾ãã