Please note that this is only applicable to current development versions of GCC and GCC 3.0 or later. GCC 2.95.x does not come with a testsuite.
ÀÌ°ÍÀº ÇöÀçÀÇ °³¹ß ¹öÀüÀÇ GCC³ª GCC 3.0 ¶Ç´Â ±× ÀÌÈÄÀÇ ¹öÀüÀÇ GCC¿¡¼ »ç¿ë°¡´ÉÇÏ´Ù´Â °ÍÀ» ÁÖÀÇÇ϶ó.GCC 2.95.xÀº testsuite¿Í ÇÔ²² ¿Ã¼ö ¾ø´Ù.
Before you install GCC, you might wish to run the testsuite. This step is optional and may require you to download additional software.
GCC¸¦ ¼³Ä¡Çϱâ Àü¿¡, ´ç½ÅÀº Å×½ºÆ®½´Æ®µéÀ» ½ÇÇàÇØ º¸±â¸¦ ¿øÇÒ °ÍÀÌ´Ù. ÀÌ °úÁ¤Àº ¿É¼ÇÀ̸ç Ãß°¡ÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾î¸¦ ´Ù¿î¹Þ¾Æ¾ßÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
First, you must have downloaded the testsuites. The full distribution contains testsuites; only if you downloaded the "core" compiler plus any front ends, you do not have the testsuites.
¿ì¼± ´ç½ÅÀº downloaded the testsuites¿¡¼ ´Ù¿î¹Þ¾Æ¾ßÇÑ´Ù. Àüü ÆÐÅ°Áö´Â Å×½ºÆ®½´Æ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù; ¸¸¾à ´ç½ÅÀÌ ÇÁ·ÐÆ® ¾Øµå¿¡ Ãß°¡·Î ÇÙ½É ÄÄÆÄÀÏ·¯¸¸À» ´Ù¿î¹Þ¾Ò´Ù¸é, Å×½ºÆ®½´Æ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ» °ÍÀÌ´Ù.
Second, you must have a new version of dejagnu on your system; dejagnu 1.3 will not work. We have made dejagnu snapshots available at ftp://gcc.gnu.org/pub/gcc/infrastructure until a new version of dejagnu has been released.
´ÙÀ½À¸·Î, ´ç½ÅÀÇ ½Ã½ºÅÛÀÇ »õ·Î¿î ¹öÀüÀÇ dejagnuÀ» °¡Áö°í ÀÖ¾î¾ßÇÑ´Ù; dejagnu 1.3Àº µ¿ÀÛÇÏÁö ¾ÊÀ»°ÍÀÌ´Ù. »õ·Î¿î ¹öÀüÀÇ dejagnu°¡ ³ª¿Ã¶§±îÁö ftp://gcc.gnu.org/pub/gcc/infrastructure ¿¡¼ dejagnu ½º³À¼¦À» »ç¿ë°¡´É Çϵµ·Ï ¸¸µé¾î ³õ¾Ò´Ù.
Finally, you can run the testsuite (which may take a long time):
cd objdir; make -k check
¸¶Áö¸·À¸·Î, ´ç½ÅÀº Å×½ºÆ®½´Æ®¸¦ (ºñ·Ï ½Ã°£ÀÌ ¿À·¡°É¸®°ÚÁö¸¸) ½ÇÇà½Ãų ¼ö ÀÖ´Ù:
cd objdir; make -k check
The testing process will try to test as many components in the GCC distribution as possible, including the C, C++ and Fortran compilers as well as the C++ runtime libraries.
Å×½ºÆ® °úÁ¤Àº C++ ·±Å¸ÀÓ ¶óÀ̺귯¸® »Ó¸¸¾Æ´Ï¶ó C, C++, Fortan ÄÄÆÄÀÏ·¯¸¦ Æ÷ÇÔÇÑ GCC Àüü ÆÐÅ°Áö¿¡¼ ¸¹Àº ÄÄÆ÷³ÍÆ®µéÀ» Å×½ºÆ®Çغ¸·Á°í ÇÒ °ÍÀÌ´Ù.
As a first possibility to cut down the number of tests that are run it is
possible to use `make check-gcc
` or `make check-g++
`
in the gcc subdirectory of the object directory. To further cut down the
tests the following is possible:
make check-gcc RUNTESTFLAGS="execute.exp <other options>"
½ÇÇàÇÏ´Â Å×½ºÆ®ÀÇ ¼ö¸¦ ÁÙÀÏ ¼ö ÀÖ´Â °¡´É¼ºÀ¸·Î½á ¿ÀºêÁ§Æ® µð·ºÅ丮ÀÇ gcc ¼ºêµð·ºÅ丮¿¡¼
`make check-gcc
` ³ª `make check-g++
` ¸í·ÉÀ» ¼öÇà½Ãų ¼ö ÀÖ´Ù.
´ÙÀ½°ú °°ÀÌ ÇÔÀ¸·Î½á Å×½ºÆ®ÀÇ ¼ö¸¦ ´õ ÁÙÀÏ ¼ö ÀÖ´Ù:
make check-gcc RUNTESTFLAGS="execute.exp <other options>"
This will run all gcc execute tests in the testsuite.
make check-g++ RUNTESTFLAGS="old-deja.exp=9805* <other options>"
ÀÌ ¸í·ÉÀº Å×½ºÆ®½´Æ®¿¡¼ ½ÇÇà°¡´ÉÇÑ gcc Å×½ºÆ®¸¦ ¸ðµÎ ½ÇÇàÇÏ°Ô ÇÒ °ÍÀÌ´Ù.
make check-g++ RUNTESTFLAGS="old-deja.exp=9805* <other options>"
This will run the g++ "old-deja" tests in the testsuite where the filename matches 9805*.
ÀÌ°ÍÀº ÈÀϸíÀÌ 9805*·Î ÀÏÄ¡ÇÏ´Â Å×½ºÆ®½´Æ®¿¡¼ g++ "old-deja" Å×½ºÆ®¸¦ ¼öÇàÇÑ´Ù.
The *.exp files are located in the testsuite directories of the GCC
source, the most important ones being compile.exp, execute.exp, dg.exp
and old-deja.exp. To get a list of the possible *.exp files, pipe the
output of `make check
` into a file and look at the
"Running ... .exp
" lines.
*.exp ÈÀϵéÀº GCC ¼Ò½ºÀÇ Å×½ºÆ®½´Æ® µð·ºÅ丮¿¡ À§Ä¡ÇÑ´Ù. ´ëºÎºÐ Áß¿äÇÑ °ÍÀº
compile.exp, execute.exp, dg.exp and old-deja.expÀÌ´Ù. °¡´ÉÇÑÇÑ *.exp ÈÀϵéÀÇ ¸ñ·ÏÀ» ¾ò±â À§Çؼ,
`make check
`ÀÇ °á°ú¸¦ ÆÄÀÌÇÁ¸¦ ÀÌ¿ëÇØ ÈÀÏ¿¡ ÀúÀåÇÏ°í "Running ... .exp
" ¶óÀεéÀ»
ã¾Æº¸¸é µÈ´Ù.
After the testsuite has run you'll find various *.sum and *.log files in the testsuite subdirectories. The *.log files contain a detailed log of the compiler invocations and the corresponding results, the *.sum files summarize the results. These summaries list all the tests that have been run with a corresponding status code:
Å×½ºÆ®½´Æ®¸¦ ½ÇÇà½ÃŲ µÚ¿¡ Å×½ºÆ®½´Æ®ÀÇ ¼ºêµð·ºÅ丮¿¡¼ ¿©·¯°³ÀÇ *.sum °ú *.log ÈÀϵéÀ» ã¾Æº¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. *.log ÈÀϵéÀº ÄÄÆÄÀÏ·¯ÀÇ È£Ãâ(invocations)µé¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ±â·ÏµéÀ» Æ÷ÇÔÇÑ´Ù. *.sum ÈÀϵéÀº °á°ú¸¦ ¿ä¾àÇØ ³õÀº °ÍÀÌ´Ù. ÀÌ ¿ä¾àµéÀº ´ÙÀ½°ú °°Àº »óÅ ÄÚµå¿Í ÇÔ²² ¼öÇàµÇ´Â ¸ðµç Å×½ºÆ®µéÀ» ³ª¿ÇØ ³õÀº °ÍÀÌ´Ù:
It is normal for some tests to report unexpected failures. At the current time our testing harness does not allow fine grained control over whether or not a test is expected to fail. We expect to fix this problem in future releases.
¸î¸îÀÇ Å×½ºÆ®¿¡¼ ¿¹»óÄ¡ ¸øÇÑ ½ÇÆеéÀ» º¸°íÇÏ´Â °ÍÀº ÀÚÁÖ ÀÖ´Â ÀÏÀÌ´Ù. ÇöÀç ¿ì¸® Å×½ºÆ®ÀÇ ¾î·Á¿òÀº Å×½ºÆ®°¡ ½ÇÆÐÇÒÁö ±×·¸Áö ¾ÊÀ»Áö¿¡ ´ëÇÑ ÅëÁ¦¸¦ Çã¿ëÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.(??) ¿ì¸®´Â ¹Ì·¡ÀÇ ¸±¸®Áî¿¡¼ ÀÌ·± ¹®Á¦°¡ ÇØ°áµÇ±â¸¦ ¹Ù¶õ´Ù.
If you want to report the results to the GCC project, use the
contrib/test_summary
shell script. Start it in the objdir with
srcdir/contrib/test_summary -p your_commentary.txt -m gcc-testresults@gcc.gnu.org |sh
¸¸¾à ´ç½ÅÀÌ GCC ÇÁ·ÎÁ§Æ®¿¡ °á°úµéÀ» º¸°íÇϱ⠿øÇÑ´Ù¸é, contrib/test_summary
½© ½ºÅ©¸³Æ®¸¦
»ç¿ëÇÏ¸é µÈ´Ù. objdir¿¡¼ ½ÇÇàÇϸéµÈ´Ù:
srcdir/contrib/test_summary -p your_commentary.txt -m gcc-testresults@gcc.gnu.org |sh
This script uses the Mail
program to send the results, so
make sure it is in your PATH. The file your_commentary.txt is
prepended to the testsuite summary and should contain any special
remarks you have on your results or your build environment. Please
do not edit the testsuite result block or the subject line, as these
messages are automatically parsed and presented at the GCC testresults web
page. Here you can also gather information on how specific tests
behave on different platforms and compare them with your results. A
few failing testcases are possible even on released versions and you
should look here first if you think your results are unreasonable.
ÀÌ ½ºÅ©¸³Æ®°¡ °á°ú¸¦ º¸³»±â À§ÇØ Mail
ÇÁ·Î±×·¥À» »ç¿ëÇÑ´Ù. ±×·¡¼
´ç½ÅÀÇ °æ·Î(path)¿¡ ±×°ÍÀÌ Á¸ÀçÇϵµ·Ï ¸¸µé¾î¾ß ÇÑ´Ù. your_commentary.txt¶ó´Â ´ç½ÅÀÇ ÈÀÏÀÌ
Å×½ºÆ®½´Æ®ÀÇ ¿ä¾àÀ» ´ã°íÀÖ°í ´ç½ÅÀÇ ÄÄÆÄÀÏ(build) ȯ°æÀ̳ª ´ç½ÅÀÇ Å×½ºÆ®°á°ú¿¡¼ ÁÖ¸ñÇÒ ¸¸ÇÑ
³»¿ëµéÀ» Æ÷ÇÔÇؾ߸¸ ÇÑ´Ù. Á¦¹ß subject ¶óÀÎÀ̳ª Å×½ºÆ®½´Æ® °á°ú ºí·°À» ¼öÁ¤ÇÏÁö ¸»±â¸¦ ¹Ù¶õ´Ù.
ÀÌ·¯ÇÑ ¸Þ¼¼ÁöµéÀº ÀÚµ¿À¸·Î ÆĽ̵ǾîÁö¸ç, GCC testresults À¥ ÆäÀÌÁö¿¡
³ªÅ¸³ª°Ô µÈ´Ù. ¿©±â¿¡¼ ´ç½ÅÀº ´Ù¸¥ Ç÷§Æû¿¡¼ ¾î¶»°Ô ƯÁ¤ÇÏ°Ô Å×½ºÆ® µÇ¾ú´ÂÁö¿¡ ´ëÇÑ Á¤º¸³ª
´ç½ÅÀÇ °á°ú¸¦ ´Ù¸¥ °Í°ú ºñ±³ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¾à°£ÀÇ Å×½ºÆ® ½ÇÆа¡ ¸±¸®Áî ¹öÀü¿¡¼ ÀÖÀ» ¼ö ÀÖ´Ù.
¸¸¾à ´ç½ÅÀÇ °á°ú°¡ ÀÌ»óÇÏ´Ù°í »ý°¢ÀÌµÇ¸é ¸ÕÀú ¿©±â¸¦ »ìÆ캸±â¸¦ ¹Ù¶õ´Ù.