Changeset 1313

Show
Ignore:
Timestamp:
01/31/08 00:53:46 (7 months ago)
Author:
mikey
Message:

finished refactoring #118: reorganize test suites:
phing test now runs default unit tests
phing test-integration runs integration tests
phing test-all runs both
phing test-report runs both and creates reports about code coverage, code metrics and pmd (requires xdebug)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/build.xml

    r1261 r1313  
    4141  </target> 
    4242 
    43   <target name="test-new" description="run test suite"> 
     43  <target name="test-report" description="run test suite"> 
    4444    <if> 
    4545      <isset property="package" /> 
    4646      <then> 
    47         <phing phingfile="${build.base.dir}/${package}/build.xml" target="test-new" /> 
     47        <phing phingfile="${build.base.dir}/${package}/build.xml" target="test-report" /> 
    4848      </then> 
    4949      <else> 
    50         <phing phingfile="${build.base.dir}/stubbles/build.xml" target="test-new" /> 
     50        <phing phingfile="${build.base.dir}/stubbles/build.xml" target="test-report" /> 
    5151      </else> 
    5252    </if> 
     
    7171  <target name="test-all" depends="check-style, test, test-integration" description="Runs all available checks and tests."/> 
    7272 
    73   <target name="clearCache" description="Clears all cache files."> 
     73  <target name="clear-cache" description="Clears all cache files."> 
    7474    <delete file="${stubbles.base.dir}/lib/.cache" verbose="true"/> 
    7575    <delete> 
  • trunk/build/stubbles/build.xml

    r1310 r1313  
    11<?xml version="1.0"?> 
    22<project name="stubbles" default="main"> 
    3   <property name="test.log" value="false"/> 
    43  <property name="build.base.dir" value="${stubbles.base.dir}/build/stubbles/build" override="true"/> 
    54  <property name="build.report.dir" value="${stubbles.base.dir}/build/stubbles/reports" override="true"/> 
     
    76  <property name="pkg.name" value="stubbles-${version}"/> 
    87  <property name="build.src.dir" value="${build.base.dir}/${pkg.name}"/> 
    9    
     8 
    109  <path id="phing.tasks.classpath"> 
    1110    <pathelement dir="${stubbles.base.dir}/src/main/php/org/stubbles/phing/tasks"/> 
    1211  </path> 
    13    
    14   <taskdef name="mySimpletest" classname="MySimpleTestTask" classpathref="${stubbles.base.dir}/src/test" /> 
     12 
    1513  <taskdef name="minifyJs" classname="stubJsMinTask" classpathref="phing.tasks.classpath" /> 
    1614  <taskdef name="checkStyle" classname="stubCheckStyleTask" classpathref="phing.tasks.classpath" /> 
     
    1917 
    2018  <target name="main" if="version" depends="check-style,test,test-integration,build"/> 
    21    
     19 
    2220  <target name="build" if="version" depends="versioncheck,copy-files,minify-js,build-archives,tar"/> 
    2321 
     
    214212  <target name="test" description="run test suite"> 
    215213    <phingcall target="test-preparation" /> 
     214    <exec passthru="true" command="phpunit src_test_AllTests"/> 
     215  </target> 
     216 
     217  <target name="test-integration"> 
     218    <phingcall target="test-preparation" /> 
     219    <exec passthru="true" command="phpunit src_test_IntegrationTests"/> 
     220  </target> 
     221 
     222  <target name="test-report" description="run test suite"> 
     223    <phingcall target="test-preparation" /> 
    216224    <php expression="extension_loaded('xdebug');" returnProperty="xdebug"/> 
    217225    <if> 
    218       <and> 
    219         <istrue value="${xdebug}"/> 
    220         <istrue value="${test.log}"/> 
    221       </and> 
     226      <istrue value="${xdebug}"/> 
    222227      <then> 
    223228        <delete> 
     
    229234          </fileset> 
    230235        </delete> 
    231         <exec passthru="true" command="phpunit --log-metrics ${build.report.dir}/metrics.xml --log-pmd ${build.report.dir}/pmd.xml --coverage-html ${build.report.dir}/coverage src_test_AllTests"/> 
     236        <exec passthru="true" command="phpunit --log-metrics ${build.report.dir}/metrics.xml --log-pmd ${build.report.dir}/pmd.xml --coverage-html ${build.report.dir}/coverage src_test_ReportTests"/> 
    232237        <xslt file="${build.report.dir}/pmd.xml" tofile="${build.report.dir}/pmd.html" style="${stubbles.base.dir}/build/stubbles/xsl/pmd.xsl"/> 
    233238        <xslt file="${build.report.dir}/metrics.xml" tofile="${build.report.dir}/metrics.html" style="${stubbles.base.dir}/build/stubbles/xsl/metrics.xsl"/> 
    234239      </then> 
    235240      <else> 
    236         <exec passthru="true" command="phpunit src_test_AllTests"/> 
     241        <echo>No XDebug available - running tests only without reporting.</echo> 
     242        <exec passthru="true" command="phpunit src_test_ReportTests"/> 
    237243      </else> 
    238244    </if> 
    239   </target> 
    240  
    241   <target name="test-integration"> 
    242     <phingcall target="test-preparation" /> 
    243     <exec passthru="true" command="phpunit src_test_IntegrationTests"/> 
    244245  </target> 
    245246 
  • trunk/src/main/php/net/stubbles/util/cache/stubCache.php

    r1230 r1313  
    3535    public static function factory($id) 
    3636    { 
    37         if (isset(self::$containers[$id]) == true) { 
     37        if (isset(self::$containers[$id]) === true) { 
    3838            self::$containers[$id]->gc(); 
    3939            return self::$containers[$id]; 
     
    5959     * @return  bool 
    6060     */ 
    61     public function has($id) 
     61    public static function has($id) 
    6262    { 
    6363        return isset(self::$containers[$id]); 
     
    7373        return array_keys(self::$containers); 
    7474    } 
     75 
     76    /** 
     77     * removes container with given id 
     78     * 
     79     * @param  string  $id 
     80     */ 
     81    public static function removeContainer($id) 
     82    { 
     83        if (isset(self::$containers[$id]) === true) { 
     84            unset(self::$containers[$id]); 
     85        } 
     86    } 
    7587} 
    7688?> 
  • trunk/src/test/AllTests.php

    r1307 r1313  
    33 * Class to organize all tests. 
    44 * 
    5  * @author      Frank Kleine <mikey@bovigo.org
     5 * @author      Frank Kleine <mikey@stubbles.net
    66 * @package     stubbles 
    77 * @subpackage  test 
     
    1212} 
    1313 
    14 $dir = dirname(__FILE__); 
    15 require_once $dir . '/../../config/php/config.php'; 
     14if (defined('TEST_SRC_PATH') === false) { 
     15    define('TEST_SRC_PATH', dirname(__FILE__)); 
     16
     17 
     18require_once TEST_SRC_PATH . '/../../config/php/config.php'; 
    1619require_once stubConfig::getSourcePath() . '/php/net/stubbles/stubClassLoader.php'; 
    1720require_once stubConfig::getLibPath() . '/starReader.php'; 
     
    1922require_once 'PHPUnit/TextUI/TestRunner.php'; 
    2023require_once 'PHPUnit/Util/Filter.php'; 
    21 PHPUnit_Util_Filter::addDirectoryToWhitelist(stubConfig::getSourcePath() . '/php'); 
    22 PHPUnit_Util_Filter::removeDirectoryFromWhitelist(stubConfig::getSourcePath() . '/php/net/stubbles/util/ext'); 
    23 PHPUnit_Util_Filter::removeDirectoryFromWhitelist(stubConfig::getSourcePath() . '/php/net/stubbles/util/xjconf'); 
    24 PHPUnit_Util_Filter::removeDirectoryFromWhitelist(stubConfig::getSourcePath() . '/php/org'); 
    25  
    26 require_once $dir . '/php/net/stubbles/stubTestSuite.php'; 
    27 require_once $dir . '/php/net/stubbles/auth/AuthTestSuite.php'; 
    28 require_once $dir . '/php/net/stubbles/events/EventTestSuite.php'; 
    29 require_once $dir . '/php/net/stubbles/ioc/IOCTestSuite.php'; 
    30 require_once $dir . '/php/net/stubbles/ipo/IPOTestSuite.php'; 
    31 require_once $dir . '/php/net/stubbles/php/PHPTestSuite.php'; 
    32 require_once $dir . '/php/net/stubbles/rdbms/RDBMSTestSuite.php'; 
    33 require_once $dir . '/php/net/stubbles/reflection/ReflectionTestSuite.php'; 
    34 require_once $dir . '/php/net/stubbles/util/UtilTestSuite.php'; 
    35 require_once $dir . '/php/net/stubbles/service/ServiceTestSuite.php'; 
    36 require_once $dir . '/php/net/stubbles/websites/WebsitesTestSuite.php'; 
    37 require_once $dir . '/php/net/stubbles/websites/variantmanager/VariantManagerTestSuite.php'; 
    38 require_once $dir . '/php/net/stubbles/xml/XMLTestSuite.php'; 
     24require_once TEST_SRC_PATH . '/php/net/stubbles/stubTestSuite.php'; 
     25require_once TEST_SRC_PATH . '/php/net/stubbles/auth/AuthTestSuite.php'; 
     26require_once TEST_SRC_PATH . '/php/net/stubbles/events/EventTestSuite.php'; 
     27require_once TEST_SRC_PATH . '/php/net/stubbles/ioc/IOCTestSuite.php'; 
     28require_once TEST_SRC_PATH . '/php/net/stubbles/ipo/IPOTestSuite.php'; 
     29require_once TEST_SRC_PATH . '/php/net/stubbles/php/PHPTestSuite.php'; 
     30require_once TEST_SRC_PATH . '/php/net/stubbles/rdbms/RDBMSTestSuite.php'; 
     31require_once TEST_SRC_PATH . '/php/net/stubbles/reflection/ReflectionTestSuite.php'; 
     32require_once TEST_SRC_PATH . '/php/net/stubbles/util/UtilTestSuite.php'; 
     33require_once TEST_SRC_PATH . '/php/net/stubbles/service/ServiceTestSuite.php'; 
     34require_once TEST_SRC_PATH . '/php/net/stubbles/websites/WebsitesTestSuite.php'; 
     35require_once TEST_SRC_PATH . '/php/net/stubbles/websites/variantmanager/VariantManagerTestSuite.php'; 
     36require_once TEST_SRC_PATH . '/php/net/stubbles/xml/XMLTestSuite.php'; 
    3937/** 
    4038 * Class to organize all tests. 
  • trunk/src/test/IntegrationTests.php

    r1312 r1313  
    11<?php 
    22/** 
    3  * Class to organize all tests. 
     3 * Class to organize integration tests. 
    44 * 
    5  * @author      Frank Kleine <mikey@bovigo.org
     5 * @author      Frank Kleine <mikey@stubbles.net
    66 * @package     stubbles 
    77 * @subpackage  test 
     
    2727PHPUnit_Util_Filter::removeDirectoryFromWhitelist(stubConfig::getSourcePath() . '/php/org'); 
    2828/** 
    29  * Class to organize all tests. 
     29 * Class to organize integration tests. 
    3030 * 
    3131 * @package     stubbles 
  • trunk/src/test/php/net/stubbles/integration/CacheTestCase.php

    r1308 r1313  
    1616class CacheTestCase extends PHPUnit_Framework_TestCase 
    1717{ 
     18    /** 
     19     * clean up test environment 
     20     */ 
     21    public function setUp() 
     22    { 
     23        foreach (stubCache::getContainerIds() as $id) { 
     24            stubCache::removeContainer($id); 
     25        } 
     26    } 
     27 
    1828    /** 
    1929     * helper method 
  • trunk/src/test/php/net/stubbles/integration/MemphisConfigTestCase.php

    r1308 r1313  
    2424    { 
    2525        stubRegistry::setConfig(stubMemphisTemplate::REGISTRY_KEY_DIR, TEST_SRC_PATH . DIRECTORY_SEPARATOR . 'resources'); 
     26        if (class_exists('stubMemphisIncludeFilePageElement', false) === true) { 
     27            stubMemphisIncludeFilePageElement::__static(); 
     28        } 
     29         
     30        if (class_exists('stubMemphisIncludeTemplatePageElement', false) === true) { 
     31            stubMemphisIncludeTemplatePageElement::__static(); 
     32        } 
    2633    } 
    2734 
  • trunk/src/test/php/net/stubbles/websites/WebsitesTestSuite.php

    r1269 r1313  
    77 * @subpackage  test 
    88 */ 
    9 if (defined('TEST_SRC_PATH') === false) { 
    10     define('TEST_SRC_PATH', dirname(__FILE__) . '/../../../../'); 
    11 } 
    129/** 
    1310 * Test suite for all websites classes.