[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jgit-build] [Hudson] Build failed in Hudson: jgit-windows-test #152
|
See <https://hudson.eclipse.org/shared/job/jgit-windows-test/152/changes>
Changes:
[Matthias Sohn] Update buck to latest version
------------------------------------------
[...truncated 6792 lines...]
java.lang.AssertionError: ERROR: Failed to delete C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\jgit_test_9145353727425608256_tmp\tmp_6508127534116797290\Test.txt
testBuiltinCleanAndSmudgeFilter(org.eclipse.jgit.util.FilterCommandsTest) Time elapsed: 0.216 sec <<< ERROR!
java.io.IOException: Could not delete file C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\jgit_test_3564486572990141440_tmp\tmp_7371839469469016709\Test.txt
at org.eclipse.jgit.util.FilterCommandsTest.testBuiltinCleanAndSmudgeFilter(FilterCommandsTest.java:225)
testBuiltinCleanAndSmudgeFilter(org.eclipse.jgit.util.FilterCommandsTest) Time elapsed: 0.217 sec <<< FAILURE!
java.lang.AssertionError: ERROR: Failed to delete C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\jgit_test_3564486572990141440_tmp\tmp_7371839469469016709\Test.txt
Running org.eclipse.jgit.util.FSTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.01 sec - in org.eclipse.jgit.util.FSTest
Running org.eclipse.jgit.util.GitDateFormatterTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.eclipse.jgit.util.GitDateFormatterTest
Running org.eclipse.jgit.util.GitDateParserBadlyFormattedTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.022 sec - in org.eclipse.jgit.util.GitDateParserBadlyFormattedTest
Running org.eclipse.jgit.util.GitDateParserTest
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.eclipse.jgit.util.GitDateParserTest
Running org.eclipse.jgit.util.HookTest
Tests run: 22, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 1.203 sec - in org.eclipse.jgit.util.FileUtilTest
Running org.eclipse.jgit.util.IntListTest
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.eclipse.jgit.util.IntListTest
Running org.eclipse.jgit.util.io.AutoCRLFInputStreamTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 9, Time elapsed: 0.403 sec - in org.eclipse.jgit.util.HookTest
Running org.eclipse.jgit.util.io.AutoCRLFOutputStreamTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.98 sec - in org.eclipse.jgit.util.io.AutoCRLFInputStreamTest
Running org.eclipse.jgit.util.io.AutoLFInputStreamTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.eclipse.jgit.util.io.AutoLFInputStreamTest
Running org.eclipse.jgit.util.io.TimeoutInputStreamTest
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.768 sec - in org.eclipse.jgit.util.io.TimeoutInputStreamTest
Running org.eclipse.jgit.util.io.TimeoutOutputStreamTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.748 sec - in org.eclipse.jgit.util.io.AutoCRLFOutputStreamTest
Running org.eclipse.jgit.util.io.UnionInputStreamTest
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.eclipse.jgit.util.io.UnionInputStreamTest
Running org.eclipse.jgit.util.IOReadLineTest
Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.031 sec - in org.eclipse.jgit.util.IOReadLineTest
Running org.eclipse.jgit.util.NBTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.eclipse.jgit.util.NBTest
Running org.eclipse.jgit.util.PathsTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.eclipse.jgit.util.PathsTest
Running org.eclipse.jgit.util.QuotedStringBourneStyleTest
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.eclipse.jgit.util.QuotedStringBourneStyleTest
Running org.eclipse.jgit.util.QuotedStringBourneUserPathStyleTest
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.eclipse.jgit.util.QuotedStringBourneUserPathStyleTest
Running org.eclipse.jgit.util.QuotedStringGitPathStyleTest
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in org.eclipse.jgit.util.QuotedStringGitPathStyleTest
Running org.eclipse.jgit.util.RawCharUtilTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.eclipse.jgit.util.RawCharUtilTest
Running org.eclipse.jgit.util.RawParseUtilsTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in org.eclipse.jgit.util.RawParseUtilsTest
Running org.eclipse.jgit.util.RawParseUtils_FormatTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.eclipse.jgit.util.RawParseUtils_FormatTest
Running org.eclipse.jgit.util.RawParseUtils_HexParseTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.eclipse.jgit.util.RawParseUtils_HexParseTest
Running org.eclipse.jgit.util.RawParseUtils_LineMapTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.eclipse.jgit.util.RawParseUtils_LineMapTest
Running org.eclipse.jgit.util.RawParseUtils_MatchTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.eclipse.jgit.util.RawParseUtils_MatchTest
Running org.eclipse.jgit.util.RawParseUtils_ParsePersonIdentTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.eclipse.jgit.util.RawParseUtils_ParsePersonIdentTest
Running org.eclipse.jgit.util.RawSubStringPatternTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.165 sec - in org.eclipse.jgit.util.RawSubStringPatternTest
Running org.eclipse.jgit.util.ReadLinesTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.eclipse.jgit.util.ReadLinesTest
Running org.eclipse.jgit.util.RefListTest
Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.eclipse.jgit.util.RefListTest
Running org.eclipse.jgit.util.RefMapTest
Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.eclipse.jgit.util.RefMapTest
Running org.eclipse.jgit.util.RelativeDateFormatterTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.eclipse.jgit.util.RelativeDateFormatterTest
Running org.eclipse.jgit.util.RunExternalScriptTest
Tests run: 12, Failures: 0, Errors: 11, Skipped: 0, Time elapsed: 0.045 sec <<< FAILURE! - in org.eclipse.jgit.util.RunExternalScriptTest
testCopyStdIn(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.003 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testCopyStdIn(RunExternalScriptTest.java:76)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testCopyStdIn(RunExternalScriptTest.java:76)
testWrongScript(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.004 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testWrongScript(RunExternalScriptTest.java:162)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testWrongScript(RunExternalScriptTest.java:162)
testArguments(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.005 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testArguments(RunExternalScriptTest.java:98)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testArguments(RunExternalScriptTest.java:98)
testRc(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.005 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testRc(RunExternalScriptTest.java:109)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testRc(RunExternalScriptTest.java:109)
testCopyStdInExecute(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.002 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testCopyStdInExecute(RunExternalScriptTest.java:174)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testCopyStdInExecute(RunExternalScriptTest.java:174)
testAllTogetherBinExecute(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.005 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testAllTogetherBinExecute(RunExternalScriptTest.java:199)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testAllTogetherBinExecute(RunExternalScriptTest.java:199)
testAllTogetherBin(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.005 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testAllTogetherBin(RunExternalScriptTest.java:143)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testAllTogetherBin(RunExternalScriptTest.java:143)
testNullStdout(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.003 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testNullStdout(RunExternalScriptTest.java:120)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testNullStdout(RunExternalScriptTest.java:120)
testCopyNullStdIn(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.003 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testCopyNullStdIn(RunExternalScriptTest.java:87)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testCopyNullStdIn(RunExternalScriptTest.java:87)
testStdErr(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.003 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testStdErr(RunExternalScriptTest.java:131)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testStdErr(RunExternalScriptTest.java:131)
testStdErrExecute(org.eclipse.jgit.util.RunExternalScriptTest) Time elapsed: 0.003 sec <<< ERROR!
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testStdErrExecute(RunExternalScriptTest.java:185)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at org.eclipse.jgit.util.RunExternalScriptTest.testStdErrExecute(RunExternalScriptTest.java:185)
Running org.eclipse.jgit.util.StringUtilsTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.eclipse.jgit.util.StringUtilsTest
Running org.eclipse.jgit.util.TemporaryBufferTest
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.394 sec - in org.eclipse.jgit.util.TemporaryBufferTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.018 sec - in org.eclipse.jgit.util.io.TimeoutOutputStreamTest
Results :
Failed tests:
AddCommandTest.testBadCleanFilter:401 expected:<127> but was:<1>
AddCommandTest.testBadCleanFilter2:422 expected:<127> but was:<1>
AddCommandTest.testBuiltinCleanFilter testBuiltinCleanFilter("true" <from sleepBeforeAddOptions[0]>)
AddCommandTest.testBuiltinFilters testBuiltinFilters("true" <from sleepBeforeAddOptions[0]>)
AddCommandTest.testCleanFilterReturning12:444 expected:<12> but was:<1>
ApplyCommandTest.testModifyM3:182
org.eclipse.jgit.api.CheckoutCommandTest.testSmudgeAndClean(org.eclipse.jgit.api.CheckoutCommandTest)
Run 1: CheckoutCommandTest.testSmudgeAndClean:766 expected:<...s.github.com/spec/v1[
oid sha256:7bd5d32e5c494354aa4c2473a1306d0ce7b52cc3bffeb342c03cd517ef8cf8da
size 16]
]> but was:<...s.github.com/spec/v1[
oid sha256:7bd5d32e5c494354aa4c2473a1306d0ce7b52cc3bffeb342c03cd517ef8cf8da
size 16
]
]>
Run 2: CheckoutCommandTest>LocalDiskRepositoryTestCase.tearDown:168->LocalDiskRepositoryTestCase.recursiveDelete:205->LocalDiskRepositoryTestCase.recursiveDelete:208->LocalDiskRepositoryTestCase.reportDeleteFailure:224 ERROR: Failed to delete C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\jgit_test_6465803915500401544_tmp\tmp_616950454217538762\filterTest.txt
CommitCommandTest.commitIgnoresSmudgedEntryWithDifferentId:395 expected:<8> but was:<0>
ConfigTest.testIncludeTooManyRecursions:829 expected:<[Too many recursions; circular includes in config file(s)?]> but was:<[Bad escape: s]>
FilterCommandsTest>LocalDiskRepositoryTestCase.tearDown:168->LocalDiskRepositoryTestCase.recursiveDelete:205->LocalDiskRepositoryTestCase.recursiveDelete:208->LocalDiskRepositoryTestCase.reportDeleteFailure:224 ERROR: Failed to delete C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\jgit_test_9145353727425608256_tmp\tmp_6508127534116797290\Test.txt
Tests in error:
AddCommandTest.testAttributesWithTreeWalkFilter:299 » FilterFailed Execution o...
AddCommandTest.testCleanFilter:152 » FilterFailed Execution of filter command ...
AddCommandTest.testCleanFilterEnvironment:317 » FilterFailed Execution of filt...
AddCommandTest.testCommandInjection:377 » FilterFailed Execution of filter com...
AddCommandTest.testMultipleCleanFilter:346 » FilterFailed Execution of filter ...
CheckoutCommandTest.testSmudgeFilter_createNew:630 » JGitInternal org.eclipse....
CheckoutCommandTest.testSmudgeFilter_deleteFileAndCreateBranchAndRestoreFromCommit:737 » JGitInternal
CheckoutCommandTest.testSmudgeFilter_deleteFileAndRestoreFromCommit:666 » JGitInternal
CheckoutCommandTest.testSmudgeFilter_deleteFileAndRestoreFromIndex:701 » JGitInternal
CheckoutCommandTest.testSmudgeFilter_modifyExisting:593 » JGitInternal org.ecl...
PushCommandTest.testPrePushHook:144->LocalDiskRepositoryTestCase.read:517 » FileNotFound
ConfigTest.testInclude:852->parse:870->parse:876 » ConfigInvalid Bad escape: s
org.eclipse.jgit.util.FilterCommandsTest.testBuiltinCleanAndSmudgeFilter(org.eclipse.jgit.util.FilterCommandsTest)
Run 1: FilterCommandsTest.testBuiltinCleanAndSmudgeFilter:225->RepositoryTestCase.deleteTrashFile:142 » IO
Run 2: FilterCommandsTest>LocalDiskRepositoryTestCase.tearDown:168->LocalDiskRepositoryTestCase.recursiveDelete:205->LocalDiskRepositoryTestCase.recursiveDelete:208->LocalDiskRepositoryTestCase.reportDeleteFailure:224 ERROR: Failed to delete C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\jgit_test_3564486572990141440_tmp\tmp_7371839469469016709\Test.txt
RunExternalScriptTest.testAllTogetherBin:143 » IO Cannot run program "sh": Cre...
RunExternalScriptTest.testAllTogetherBinExecute:199 » IO Cannot run program "s...
RunExternalScriptTest.testArguments:98 » IO Cannot run program "sh": CreatePro...
RunExternalScriptTest.testCopyNullStdIn:87 » IO Cannot run program "sh": Creat...
RunExternalScriptTest.testCopyStdIn:76 » IO Cannot run program "sh": CreatePro...
RunExternalScriptTest.testCopyStdInExecute:174 » IO Cannot run program "sh": C...
RunExternalScriptTest.testNullStdout:120 » IO Cannot run program "sh": CreateP...
RunExternalScriptTest.testRc:109 » IO Cannot run program "sh": CreateProcess e...
RunExternalScriptTest.testStdErr:131 » IO Cannot run program "sh": CreateProce...
RunExternalScriptTest.testStdErrExecute:185 » IO Cannot run program "sh": Crea...
RunExternalScriptTest.testWrongScript:162 » IO Cannot run program "sh": Create...
Tests run: 3507, Failures: 10, Errors: 24, Skipped: 96
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] JGit - Parent ...................................... SUCCESS [06:55 min]
[INFO] JGit - Core ........................................ SUCCESS [02:44 min]
[INFO] JGit - Ant Tasks ................................... SUCCESS [ 12.559 s]
[INFO] JGit - Archive Formats ............................. SUCCESS [ 11.800 s]
[INFO] JGit - AWT User Interface .......................... SUCCESS [ 14.743 s]
[INFO] JGit - Apache httpclient based HTTP support ........ SUCCESS [ 9.791 s]
[INFO] JGit - HTTP Server ................................. SUCCESS [ 13.988 s]
[INFO] JGit - Large File Storage .......................... SUCCESS [ 12.098 s]
[INFO] JGit - Large File Storage Server ................... SUCCESS [ 12.675 s]
[INFO] JGit - Command Line Interface ...................... SUCCESS [ 36.478 s]
[INFO] JGit - JUnit Utility Classes ....................... SUCCESS [ 14.361 s]
[INFO] JGit - JUnit Http Utility Classes .................. SUCCESS [ 11.923 s]
[INFO] JGit - Core Tests .................................. FAILURE [07:03 min]
[INFO] JGit - Ant Tasks Tests ............................. SKIPPED
[INFO] JGit - HTTP Tests .................................. SKIPPED
[INFO] JGit - Command Line Interface Tests ................ SKIPPED
[INFO] JGit - Large File Storage Tests .................... SKIPPED
[INFO] JGit - LFS Server Tests ............................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19:16 min
[INFO] Finished at: 2016-11-06T17:47:56-05:00
[INFO] Final Memory: 48M/219M
[INFO] ------------------------------------------------------------------------
[INFO] o.h.m.e.h.MavenExecutionResultHandler - Build failed with exception(s)
[INFO] o.h.m.e.h.MavenExecutionResultHandler - [1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project org.eclipse.jgit.test: There are test failures.
Please refer to C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\surefire-reports for the individual test results.
[DEBUG] Closing connection to remote
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project org.eclipse.jgit.test: There are test failures.
[ERROR]
[ERROR] Please refer to C:\shared_hudson\workspace\jgit-windows-test\org.eclipse.jgit.test\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :org.eclipse.jgit.test
[DEBUG] Waiting for process to finish
[DEBUG] Result: 1
[FINDBUGS] Skipping publisher since build result is FAILURE
[DRY] Skipping publisher since build result is FAILURE
Recording test results
Archiving artifacts
--
This message is automatically generated by Hudson.
For more information on Hudson, see: http://hudson-ci.org/