From: Clayton H. <dr...@us...> - 2004-03-25 07:59:54
|
Update of /cvsroot/nant/nant/tests/NAnt.SourceControl/Tasks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26519/tests/NAnt.SourceControl/Tasks Modified Files: CheckoutTaskTest.cs UpdateTaskTest.cs Log Message: Bringing tests in line, still having problems with log4net and scvs.exe file. Index: CheckoutTaskTest.cs =================================================================== RCS file: /cvsroot/nant/nant/tests/NAnt.SourceControl/Tasks/CheckoutTaskTest.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** CheckoutTaskTest.cs 11 Oct 2003 12:34:20 -0000 1.9 --- CheckoutTaskTest.cs 25 Mar 2004 07:49:09 -0000 1.10 *************** *** 53,56 **** --- 53,65 ---- </project>"; + /* private readonly string _useSharpCvsLibProjectXML = @"<?xml version='1.0'?> + <project> + <property name='sourcecontrol.usesharpcvslib' value='{0}'/> + <cvs-checkout module='{1}' + cvsroot='{2}' + destination='{3}' + password='{4}' /> + </project>"; + */ #endregion Private Instance Fields Index: UpdateTaskTest.cs =================================================================== RCS file: /cvsroot/nant/nant/tests/NAnt.SourceControl/Tasks/UpdateTaskTest.cs,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** UpdateTaskTest.cs 11 Oct 2003 12:34:20 -0000 1.11 --- UpdateTaskTest.cs 25 Mar 2004 07:49:09 -0000 1.12 *************** *** 38,41 **** --- 38,43 ---- private string destination; + private const bool USESHARPCVSLIB = false; + private readonly string MODULE = "sharpcvslib-test-repository"; private readonly string CHECK_FILE = "test-file.txt"; *************** *** 46,54 **** private readonly string _checkoutXML = @"<?xml version='1.0'?> <project> ! <cvs-checkout module='{0}' ! cvsroot='{1}' ! destination='{2}' ! password='{3}' ! tag='{4}' /> </project>"; --- 48,57 ---- private readonly string _checkoutXML = @"<?xml version='1.0'?> <project> ! <property name='sourcecontrol.usesharpcvslib' value='{0}'/> ! <cvs-checkout module='{1}' ! cvsroot='{2}' ! destination='{3}' ! password='{4}' ! tag='{5}' /> </project>"; *************** *** 56,66 **** /// Project to update the working directory. /// </summary> ! private readonly string _projectXML = @"<?xml version='1.0'?> <project> <cvs-update module='{0}' cvsroot='{1}' destination='{2}' ! password='{3}' ! tag='{4}' /> </project>"; --- 59,106 ---- /// Project to update the working directory. /// </summary> ! private readonly string _updateXML = @"<?xml version='1.0'?> <project> + <property name='sourcecontrol.usesharpcvslib' value='{0}'/> + <cvs-update module='{1}' + cvsroot='{2}' + destination='{3}' + password='{4}' + tag='{5}' /> + </project>"; + + /// <summary> + /// Filesets are not currently implemented in sharpcvslib so we default + /// to using the command line client for this test. + /// + /// CDH: 2004/03/25 + /// </summary> + /* private readonly string _updateFilesetsXML = @"<?xml version='1.0'?> + <project> + <property name='sourcecontrol.usesharpcvslib' value='false'/> <cvs-update module='{0}' cvsroot='{1}' destination='{2}' ! password='{3}'> ! <fileset> ! <includes name='**//**.build'/> ! </fileset> ! </cvs-update> ! </project>"; ! */ ! private readonly string _updateOptionsXML = @"<?xml version='1.0'?> ! <project> ! <property name='sourcecontrol.usesharpcvslib' value='{0}'/> ! <cvs-update module='{1}' ! cvsroot='{2}' ! destination='{3}' ! password='{4}' ! builddirs='{5}' ! pruneempty='{6}' ! overwritelocal='{7}' ! recursive='{8}'> ! <fileset> ! <includes name='{9}'/> ! </fileset> ! </cvs-update> </project>"; *************** *** 77,84 **** this.destination = this.TempDirName; ! object[] args = { MODULE, CVSROOT, this.destination, string.Empty, string.Empty}; string result = ! this.RunBuild(FormatBuildFile(_checkoutXML, args), Level.Debug); } --- 117,126 ---- this.destination = this.TempDirName; ! object[] args = {USESHARPCVSLIB.ToString(), MODULE, CVSROOT, this.destination, string.Empty, string.Empty}; + string checkoutBuild = FormatBuildFile(_checkoutXML, args); + System.Console.WriteLine(checkoutBuild); string result = ! this.RunBuild(checkoutBuild, Level.Debug); } *************** *** 114,120 **** // Run the update to bring the file back down. ! object[] args = {MODULE, CVSROOT, this.destination, string.Empty, string.Empty}; ! string result = this.RunBuild(FormatBuildFile(_projectXML, args), Level.Debug); --- 156,162 ---- // Run the update to bring the file back down. ! object[] args = {USESHARPCVSLIB.ToString(), MODULE, CVSROOT, checkoutPath, string.Empty, string.Empty}; ! string result = this.RunBuild(FormatBuildFile(_updateXML, args), Level.Debug); *************** *** 124,127 **** --- 166,212 ---- } + public void TestUpdateClean () { + string checkoutPath = Path.Combine(this.destination, this.MODULE); + string checkFilePath = Path.Combine(checkoutPath, this.CHECK_FILE); + + string checkContents; + + StreamReader reader = new StreamReader(File.Open(checkFilePath, FileMode.Open)); + checkContents = reader.ReadToEnd(); + reader.Close(); + reader = null; + + // Update the file with data + FileStream writer = File.Open(checkFilePath, FileMode.Append, FileAccess.Write); + string updateMsg = "UpdateTaskTest - overwrite local changes test."; + byte[] updateMsgBytes = System.Text.Encoding.ASCII.GetBytes(updateMsg); + writer.Write(updateMsgBytes, 0, updateMsgBytes.Length); + writer.Close(); + writer = null; + + // Run the update to bring the file back down. + bool buildDirs = false; + bool pruneEmpty = false; + bool overwriteLocal = true; + bool recursive = false; + object[] args = {USESHARPCVSLIB.ToString(), MODULE, CVSROOT, checkoutPath, string.Empty, + buildDirs, pruneEmpty, overwriteLocal, recursive, + checkFilePath}; + string formattedBuildFile = FormatBuildFile(this._updateOptionsXML, args); + System.Console.WriteLine(formattedBuildFile); + string result = this.RunBuild(formattedBuildFile, + Level.Debug); + + // Check that the file is back. + Assertion.Assert("File does not exist, update probably did not work.", + File.Exists (checkFilePath)); + + StreamReader replacedReader = new StreamReader(File.Open(checkFilePath, FileMode.Open)); + string checkContentsReplaced = replacedReader.ReadToEnd(); + replacedReader.Close(); + replacedReader = null; + Assertion.AssertEquals(checkContents, checkContentsReplaced); + } + #endregion Public Instance Methods |