[limb-svn] r6761 - in buildman/trunk: bin src/model tests
svn at limb-project.com
svn at limb-project.com
Wed Jan 30 17:39:27 MSK 2008
Author: wiliam
Date: 2008-01-30 17:39:26 +0300 (Wed, 30 Jan 2008)
New Revision: 6761
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6761
Added:
buildman/trunk/tests/.setup.php
Modified:
buildman/trunk/bin/build.php
buildman/trunk/src/model/Project.class.php
buildman/trunk/tests/BuildTest.class.php
buildman/trunk/tests/CategoryTest.class.php
buildman/trunk/tests/ProjectTest.class.php
Log:
-- current test runner adadptation + tests fix
-- project revision now received in xml format due to svn language differences
Modified: buildman/trunk/bin/build.php
===================================================================
--- buildman/trunk/bin/build.php 2008-01-30 11:36:28 UTC (rev 6760)
+++ buildman/trunk/bin/build.php 2008-01-30 14:39:26 UTC (rev 6761)
@@ -10,18 +10,20 @@
}
}
-if(!isset($argv[1]))
+if(!isset($argv[1]))
{
foreach(Project :: findAllProjects() as $project)
+ {
$project->build(new CliListener());
-}
-else
+ }
+}
+else
{
- if($project = Project :: findProject($argv[1]))
+ if($project = Project :: findProject($argv[1]))
{
$project->build(new CliListener());
- }
- else
+ }
+ else
{
echo "Error: project '" . $argv[1] . "' not found\n";
exit(1);
Modified: buildman/trunk/src/model/Project.class.php
===================================================================
--- buildman/trunk/src/model/Project.class.php 2008-01-30 11:36:28 UTC (rev 6760)
+++ buildman/trunk/src/model/Project.class.php 2008-01-30 14:39:26 UTC (rev 6761)
@@ -262,7 +262,7 @@
if($item != '.' && $item != '..' && is_dir($dir . '/' . $item) && preg_match('~r(\d+)~',$item,$matches)) {
$builds[intval($matches[1])] = new Build($dir . '/' . $item);
}
-
+
}
krsort($builds);
return array_values($builds);
@@ -327,8 +327,10 @@
{
$svn = BUILDMAN_SVN_BIN;
$scm_opts = $this->_getRaw('scm_opts');
- preg_match('~Revision:\s*(\d+)\s+~i', `$svn info $scm_opts $path`, $m);
- return isset($m[1]) ? $m[1] : null;
+ $cmd = "$svn info --xml $scm_opts $path";
+ $xmlstr = `$cmd`;
+ $xml = new SimpleXMLElement($xmlstr);
+ return $xml->entry[0]->commit['revision'];
}
function getWc()
@@ -356,7 +358,7 @@
{
return $this->_getFileContents($this->getLastBuildRevFile());
}
-
+
function getBuildsAmount()
{
return sizeof($this->getBuilds());
Added: buildman/trunk/tests/.setup.php
===================================================================
--- buildman/trunk/tests/.setup.php (rev 0)
+++ buildman/trunk/tests/.setup.php 2008-01-30 14:39:26 UTC (rev 6761)
@@ -0,0 +1,9 @@
+<?php
+ at define('TEST_VAR_DIR', dirname(__FILE__) . '/var/');
+ at define('BUILDMAN_PROJECTS_BUILDS_DIR', TEST_VAR_DIR . '/builds/');
+ at define('BUILDMAN_PROJECTS_WC_DIR', TEST_VAR_DIR . '/wc/');
+ at define('BUILDMAN_PROJECTS_SANDBOX_DIR', TEST_VAR_DIR . '/projects/');
+ at define('BUILDMAN_PROJECTS_SETTINGS_DIR', TEST_VAR_DIR . '/settings/');
+
+require_once(dirname(__FILE__) . '/../setup.php');
+?>
\ No newline at end of file
Modified: buildman/trunk/tests/BuildTest.class.php
===================================================================
--- buildman/trunk/tests/BuildTest.class.php 2008-01-30 11:36:28 UTC (rev 6760)
+++ buildman/trunk/tests/BuildTest.class.php 2008-01-30 14:39:26 UTC (rev 6761)
@@ -51,32 +51,32 @@
{
$build = Build :: createBuild(TEST_VAR_DIR, 'foo', $rev = 21, $time = time());
$this->assertEqual(Build :: STATE_UNDEF, $build->getState());
- $this->assertFalse($build->isError());
+ $this->assertFalse($build->getIsError());
}
function testMarkOk()
{
$build1 = Build :: createBuild(TEST_VAR_DIR, 'foo', $rev = 378, $time = time());
$build1->markOk();
- $this->assertFalse($build1->isError());
+ $this->assertFalse($build1->getIsError());
$this->assertEqual(Build :: STATE_OK, $build1->getState());
$build2 = Build :: createBuild(TEST_VAR_DIR, 'foo', $rev, $time);
- $this->assertFalse($build2->isError());
+ $this->assertFalse($build2->getIsError());
$this->assertEqual(Build :: STATE_OK, $build2->getState());
}
function testMarkError()
{
$build1 = Build :: createBuild(TEST_VAR_DIR, 'foo', $rev = 48, $time = time());
- $this->assertFalse($build1->isError());
+ $this->assertFalse($build1->getIsError());
$build1->markError();
- $this->assertTrue($build1->isError());
+ $this->assertTrue($build1->getIsError());
$this->assertEqual(Build :: STATE_ERROR, $build1->getState());
$build2 = Build :: createBuild(TEST_VAR_DIR, 'foo', $rev, $time);
$this->assertEqual(Build :: STATE_ERROR, $build2->getState());
- $this->assertTrue($build2->isError());
+ $this->assertTrue($build2->getIsError());
}
}
Modified: buildman/trunk/tests/CategoryTest.class.php
===================================================================
--- buildman/trunk/tests/CategoryTest.class.php 2008-01-30 11:36:28 UTC (rev 6760)
+++ buildman/trunk/tests/CategoryTest.class.php 2008-01-30 14:39:26 UTC (rev 6761)
@@ -15,26 +15,26 @@
function testFindCategories()
{
- //cat1
+ //category
$this->_createProject(
'foo',
"repository=svn://svn.bit/1
build_cmd=php %project_dir%/cli/build.php
- category=cat1");
+ category=category");
- //cat2
+ //zuppa category
$this->_createProject(
'zoo',
"repository=svn://svn.bit/3
build_cmd=php %project_dir%/cli/build.php
- category=cat2");
+ category=zuppa category");
- //cat1
+ //category
$this->_createProject(
'bar',
"repository=svn://svn.bit/2
build_cmd=php %project_dir%/cli/build.php
- category=cat1");
+ category=category");
//default category
$this->_createProject(
@@ -43,12 +43,16 @@
build_cmd=php %project_dir%/cli/build.php");
//entries are sorted by name
- list($cat1, $cat2, $cat3) = Category :: findAllCategories();
+ list($category, $category_default, $category_zuppa) = Category :: findAllCategories();
- list($p0) = $cat1->getProjects();
- list($p1, $p2) = $cat2->getProjects();
- list($p3) = $cat3->getProjects();
+ $this->assertEqual($category->getName(), 'category');
+ $this->assertEqual($category_default->getName(), 'default');
+ $this->assertEqual($category_zuppa->getName(), 'zuppa category');
+ list($p0) = $category_default->getProjects();
+ list($p1, $p2) = $category->getProjects();
+ list($p3) = $category_zuppa->getProjects();
+
$this->assertEqual($p0->getName(), 'wow');//entries are sorted by name
$this->assertEqual($p1->getName(), 'bar');
Modified: buildman/trunk/tests/ProjectTest.class.php
===================================================================
--- buildman/trunk/tests/ProjectTest.class.php 2008-01-30 11:36:28 UTC (rev 6760)
+++ buildman/trunk/tests/ProjectTest.class.php 2008-01-30 14:39:26 UTC (rev 6761)
@@ -60,6 +60,8 @@
$project2 = new Project('foo');
$this->assertEqual($project2->getBuilds(), array($b2, $b1));//latest come first!
+ $this->assertEqual($last_build = $project2->getLastBuild(), $b2);
+ $this->assertEqual($last_build->getBuildRevision(), $rev2);
}
function testRemoveBuild()
More information about the limb-svn
mailing list