From d21422dac8fd712dbb2859014fd7089f429ff8b7 Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Thu, 17 Feb 2022 12:50:01 +0100 Subject: [PATCH 1/3] Fix XNodeReaderFunctionalTests --- .../System/Xml/XmlCoreTest/FilePathUtil.cs | 6 +- .../tests/XDocument.Common/BridgeHelpers.cs | 167 +++++++++++++----- .../tests/xNodeReader/ReadBase64.cs | 12 +- 3 files changed, 136 insertions(+), 49 deletions(-) diff --git a/src/libraries/Common/tests/System/Xml/XmlCoreTest/FilePathUtil.cs b/src/libraries/Common/tests/System/Xml/XmlCoreTest/FilePathUtil.cs index b5a64db4aab04c..6f5e326ae01a5a 100644 --- a/src/libraries/Common/tests/System/Xml/XmlCoreTest/FilePathUtil.cs +++ b/src/libraries/Common/tests/System/Xml/XmlCoreTest/FilePathUtil.cs @@ -120,13 +120,15 @@ static void initXmlFileCacheIfNotYet() { if (s_XmlFileInMemoryCache == null) { - s_XmlFileInMemoryCache = new MyDict(); + MyDict cache = new MyDict(); foreach (Tuple file in GetDataFiles()) { var ms = new MemoryStream(file.Item2); - s_XmlFileInMemoryCache[NormalizeFilePath(file.Item1)] = ms; + cache[NormalizeFilePath(file.Item1)] = ms; } + + s_XmlFileInMemoryCache = cache; } } } diff --git a/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs b/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs index d8fd205bd2a22d..bfa642b571e721 100644 --- a/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs +++ b/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs @@ -539,17 +539,20 @@ public static void DeleteTestFile(string strFileName) public static void CreateByteTestFile(string strFileName) { - FilePathUtil.addStream(strFileName, new MemoryStream()); - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("x"); + tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateUTF8EncodedTestFile(string strFileName, Encoding encode) { - FilePathUtil.addStream(strFileName, new MemoryStream()); - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName), encode); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, encoding: encode, leaveOpen: true); tw.WriteLine(""); tw.Write("\uFFFD"); @@ -557,24 +560,30 @@ public static void CreateUTF8EncodedTestFile(string strFileName, Encoding encode tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateEncodedTestFile(string strFileName, Encoding encode) { - FilePathUtil.addStream(strFileName, new MemoryStream()); - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName), encode); + var ms = new MemoryStream(); + + TextWriter tw = new StreamWriter(ms, encoding: encode, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateWhitespaceHandlingTestFile(string strFileName) { - FilePathUtil.addStream(strFileName, new MemoryStream()); - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); @@ -588,6 +597,8 @@ public static void CreateWhitespaceHandlingTestFile(string strFileName) tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateGenericXsltTestFile(string strFileName) @@ -598,8 +609,9 @@ public static void CreateGenericXsltTestFile(string strFileName) public static void CreateGenericTestFile(string strFileName) { - FilePathUtil.addStream(strFileName, new MemoryStream()); - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); @@ -793,9 +805,11 @@ public static void CreateGenericTestFile(string strFileName) tw.Write(""); tw.Flush(); + FilePathUtil.addStream(strFileName, ms); + //Create external DTD file - FilePathUtil.addStream("AllNodeTypes.dtd", new MemoryStream()); - TextWriter twDTD = new StreamWriter(FilePathUtil.getStream("AllNodeTypes.dtd")); + var msDTD = new MemoryStream(); + TextWriter twDTD = new StreamWriter(msDTD, leaveOpen: true); twDTD.WriteLine(""); twDTD.WriteLine(""); twDTD.WriteLine(""); @@ -806,67 +820,84 @@ public static void CreateGenericTestFile(string strFileName) twDTD.WriteLine("att3 CDATA #IMPLIED>"); twDTD.WriteLine(""); twDTD.Flush(); + FilePathUtil.addStream("AllNodeTypes.dtd", msDTD); // Create Ent file - FilePathUtil.addStream("AllNodeTypes.ent", new MemoryStream()); - TextWriter twENT = new StreamWriter(FilePathUtil.getStream("AllNodeTypes.ent")); + var msENT = new MemoryStream(); + TextWriter twENT = new StreamWriter(msENT, leaveOpen: true); twENT.WriteLine(""); twENT.WriteLine(""); twENT.WriteLine(""); twENT.Flush(); + FilePathUtil.addStream("AllNodeTypes.ent", msENT); } public static void CreateInvalidDTDTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("]>"); tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateValidDTDTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("]>"); tw.Write(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateWellFormedDTDTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.Write(" that \">"); tw.Write("]>"); tw.Write("&bar;"); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateNonWellFormedDTDTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.Write(" that \">"); tw.Write("]>"); tw.Write("&bar;"); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateInvWellFormedDTDTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.Write(" this that \">"); tw.Write("]>"); tw.Write("&bar;"); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateInvalidXMLXDRTestFile(string strFileName) @@ -874,12 +905,15 @@ public static void CreateInvalidXMLXDRTestFile(string strFileName) // Create XDR before CreateXDRTestFile(pValidXDR); - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("Element 1"); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateXDRXMLTestFile(string strFileName) @@ -887,36 +921,46 @@ public static void CreateXDRXMLTestFile(string strFileName) // Create XDR before CreateXDRTestFile(pValidXDR); - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(" "); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateXDRTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateInvalidNamespaceTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("Namespace=1"); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateNamespaceTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("Namespace=1"); @@ -932,11 +976,14 @@ public static void CreateNamespaceTestFile(string strFileName) tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateXmlLangTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("DROMIO OF EPHESUS"); @@ -950,11 +997,14 @@ public static void CreateXmlLangTestFile(string strFileName) tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateXmlSpaceTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("DROMIO OF EPHESUS"); @@ -968,16 +1018,21 @@ public static void CreateXmlSpaceTestFile(string strFileName) tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateJunkTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); string str = new string('Z', (1 << 20) - 1); tw.Write(str); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateBase64TestFile(string strFileName) @@ -1005,9 +1060,8 @@ public static void CreateBase64TestFile(string strFileName) WriteToBuffer(ref WTextOnly, ref WTextOnlylen, System.BitConverter.GetBytes(strBase64[i])); } - FilePathUtil.addStream(strFileName, new MemoryStream()); - - XmlWriter w = XmlWriter.Create(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + XmlWriter w = XmlWriter.Create(ms); w.WriteStartDocument(); w.WriteDocType("Root", null, null, ""); w.WriteStartElement("Root"); @@ -1044,6 +1098,8 @@ public static void CreateBase64TestFile(string strFileName) w.WriteEndElement(); w.WriteEndElement(); w.Flush(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateBinHexTestFile(string strFileName) @@ -1070,9 +1126,10 @@ public static void CreateBinHexTestFile(string strFileName) { WriteToBuffer(ref WTextOnly, ref WTextOnlylen, System.BitConverter.GetBytes(strBinHex[i])); } - FilePathUtil.addStream(strFileName, new MemoryStream()); - XmlWriter w = XmlWriter.Create(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + + XmlWriter w = XmlWriter.Create(ms); w.WriteStartElement("Root"); w.WriteStartElement("ElemAll"); w.WriteBinHex(Wbinhex, 0, (int)Wbinhexlen); @@ -1106,11 +1163,14 @@ public static void CreateBinHexTestFile(string strFileName) w.WriteEndElement(); w.Flush(); w.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateBigElementTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); string str = new string('Z', (1 << 20) - 1); tw.WriteLine(""); @@ -1126,10 +1186,13 @@ public static void CreateBigElementTestFile(string strFileName) tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateXSLTStyleSheetWCopyTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine(""); @@ -1137,11 +1200,14 @@ public static void CreateXSLTStyleSheetWCopyTestFile(string strFileName) tw.WriteLine(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateConstructorTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); @@ -1149,11 +1215,14 @@ public static void CreateConstructorTestFile(string strFileName) tw.Write(""); tw.Flush(); tw.Dispose(); + + FilePathUtil.addStream(strFileName, ms); } public static void CreateLineNumberTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(" "); twENT.WriteLine(""); twENT.WriteLine(""); twENT.Flush(); twENT.Dispose(); + + FilePathUtil.addStream("LineNumber.ent", msENT); } public static void CreateLbNormalizationTestFile(string strFileName) { - TextWriter tw = new StreamWriter(FilePathUtil.getStream(strFileName)); + var ms = new MemoryStream(); + TextWriter tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); twENT.WriteLine(""); twENT.WriteLine(""); @@ -1219,15 +1295,20 @@ public static void CreateLbNormalizationTestFile(string strFileName) twENT.Flush(); twENT.Dispose(); + FilePathUtil.addStream(pLbNormEnt1, msPLbNormEnt1); + // Create Ent file - FilePathUtil.addStream(pLbNormEnt2, new MemoryStream()); - twENT = new StreamWriter(FilePathUtil.getStream(pLbNormEnt2)); + + var msPLbNormEnt2 = new MemoryStream(); + twENT = new StreamWriter(msPLbNormEnt2, leaveOpen: true); twENT.WriteLine(""); twENT.WriteLine("\">"); twENT.WriteLine(""); twENT.WriteLine(); twENT.Flush(); twENT.Dispose(); + + FilePathUtil.addStream(pLbNormEnt2, msPLbNormEnt2); } public bool FindNodeType(XmlReader r, XmlNodeType _nodetype) diff --git a/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs b/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs index 1bc4bee9b2e2a9..12fa665b4b612e 100644 --- a/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs +++ b/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs @@ -482,13 +482,15 @@ public void RunBase64DoesnNotRunIntoOverflow() string base64str = Convert.ToBase64String(bits); string fileName = "bug105376_" + Variation.Params[0].ToString() + ".xml"; - FilePathUtil.addStream(fileName, new MemoryStream()); - StreamWriter sw = new StreamWriter(FilePathUtil.getStream(fileName)); + var ms = new MemoryStream(); + StreamWriter sw = new StreamWriter(ms, leaveOpen: true); sw.Write(""); sw.Write(base64str); sw.Write(""); sw.Flush(); + FilePathUtil.addStream(fileName, ms); + XmlReader DataReader = GetReader(fileName); int SIZE = (totalfilesize - 30); @@ -943,13 +945,15 @@ public void ReadBase64DoesNotRunIntoOverflow2() string base64str = Convert.ToBase64String(bits); string fileName = "bug105376_" + Variation.Params[0].ToString() + ".xml"; - FilePathUtil.addStream(fileName, new MemoryStream()); - StreamWriter sw = new StreamWriter(FilePathUtil.getStream(fileName)); + var ms = new MemoryStream(); + StreamWriter sw = new StreamWriter(ms, leaveOpen: true); sw.Write(""); sw.Write(base64str); sw.Write(""); sw.Flush(); + FilePathUtil.addStream(fileName, ms); + XmlReader DataReader = GetReader(fileName); int SIZE = (totalfilesize - 30); From 86d482d08c760aa7ddc1364b2cad8d192f71829e Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Thu, 17 Feb 2022 20:38:03 +0100 Subject: [PATCH 2/3] cleanup Flush/Dispose --- .../tests/XDocument.Common/BridgeHelpers.cs | 130 ++++++------------ .../tests/xNodeReader/ReadBase64.cs | 26 ++-- 2 files changed, 53 insertions(+), 103 deletions(-) diff --git a/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs b/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs index bfa642b571e721..05ed48dc43ce24 100644 --- a/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs +++ b/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs @@ -540,27 +540,21 @@ public static void DeleteTestFile(string strFileName) public static void CreateByteTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("x"); - tw.Flush(); - tw.Dispose(); - FilePathUtil.addStream(strFileName, ms); } public static void CreateUTF8EncodedTestFile(string strFileName, Encoding encode) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, encoding: encode, leaveOpen: true); + using var tw = new StreamWriter(ms, encoding: encode, leaveOpen: true); tw.WriteLine(""); tw.Write("\uFFFD"); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); - FilePathUtil.addStream(strFileName, ms); } @@ -568,14 +562,11 @@ public static void CreateEncodedTestFile(string strFileName, Encoding encode) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, encoding: encode, leaveOpen: true); + using var tw = new StreamWriter(ms, encoding: encode, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); - FilePathUtil.addStream(strFileName, ms); } @@ -583,7 +574,7 @@ public static void CreateWhitespaceHandlingTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); @@ -595,8 +586,6 @@ public static void CreateWhitespaceHandlingTestFile(string strFileName) tw.WriteLine(" "); tw.WriteLine("\t\t"); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -835,12 +824,10 @@ public static void CreateGenericTestFile(string strFileName) public static void CreateInvalidDTDTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("]>"); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -848,12 +835,10 @@ public static void CreateInvalidDTDTestFile(string strFileName) public static void CreateValidDTDTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("]>"); tw.Write(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -861,13 +846,11 @@ public static void CreateValidDTDTestFile(string strFileName) public static void CreateWellFormedDTDTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.Write(" that \">"); tw.Write("]>"); tw.Write("&bar;"); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -875,13 +858,11 @@ public static void CreateWellFormedDTDTestFile(string strFileName) public static void CreateNonWellFormedDTDTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.Write(" that \">"); tw.Write("]>"); tw.Write("&bar;"); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -889,13 +870,11 @@ public static void CreateNonWellFormedDTDTestFile(string strFileName) public static void CreateInvWellFormedDTDTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.Write(" this that \">"); tw.Write("]>"); tw.Write("&bar;"); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -906,12 +885,10 @@ public static void CreateInvalidXMLXDRTestFile(string strFileName) CreateXDRTestFile(pValidXDR); var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("Element 1"); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -922,11 +899,9 @@ public static void CreateXDRXMLTestFile(string strFileName) CreateXDRTestFile(pValidXDR); var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(" "); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -934,13 +909,11 @@ public static void CreateXDRXMLTestFile(string strFileName) public static void CreateXDRTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -948,11 +921,9 @@ public static void CreateXDRTestFile(string strFileName) public static void CreateInvalidNamespaceTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine("Namespace=1"); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -960,7 +931,7 @@ public static void CreateInvalidNamespaceTestFile(string strFileName) public static void CreateNamespaceTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("Namespace=1"); @@ -974,8 +945,6 @@ public static void CreateNamespaceTestFile(string strFileName) tw.WriteLine("Namespace=14"); tw.WriteLine("Namespace=\"\""); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -983,7 +952,7 @@ public static void CreateNamespaceTestFile(string strFileName) public static void CreateXmlLangTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("DROMIO OF EPHESUS"); @@ -995,8 +964,6 @@ public static void CreateXmlLangTestFile(string strFileName) tw.WriteLine("What color is it?<!-- this is a comment-->Testing languageWhat color is it?haha hihihi"); tw.WriteLine(""); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -1004,7 +971,7 @@ public static void CreateXmlLangTestFile(string strFileName) public static void CreateXmlSpaceTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine("DROMIO OF EPHESUS"); @@ -1016,8 +983,6 @@ public static void CreateXmlSpaceTestFile(string strFileName) tw.WriteLine("< < > < > test >"); tw.WriteLine("twin brothers, and attendants on the two Antipholuses."); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -1025,12 +990,10 @@ public static void CreateXmlSpaceTestFile(string strFileName) public static void CreateJunkTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); string str = new string('Z', (1 << 20) - 1); tw.Write(str); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -1129,7 +1092,7 @@ public static void CreateBinHexTestFile(string strFileName) var ms = new MemoryStream(); - XmlWriter w = XmlWriter.Create(ms); + using var w = XmlWriter.Create(ms); w.WriteStartElement("Root"); w.WriteStartElement("ElemAll"); w.WriteBinHex(Wbinhex, 0, (int)Wbinhexlen); @@ -1161,8 +1124,6 @@ public static void CreateBinHexTestFile(string strFileName) w.WriteElementString("ElemErr", "a&A2A3"); w.WriteEndElement(); - w.Flush(); - w.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -1170,7 +1131,7 @@ public static void CreateBinHexTestFile(string strFileName) public static void CreateBigElementTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); string str = new string('Z', (1 << 20) - 1); tw.WriteLine(""); @@ -1184,22 +1145,17 @@ public static void CreateBigElementTestFile(string strFileName) tw.WriteLine("Y />"); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); - FilePathUtil.addStream(strFileName, ms); } public static void CreateXSLTStyleSheetWCopyTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -1207,14 +1163,12 @@ public static void CreateXSLTStyleSheetWCopyTestFile(string strFileName) public static void CreateConstructorTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine(""); tw.Write(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); } @@ -1222,7 +1176,7 @@ public static void CreateConstructorTestFile(string strFileName) public static void CreateLineNumberTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(" "); tw.WriteLine(" "); tw.Write(""); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); // Create Ent file var msENT = new MemoryStream(); - TextWriter twENT = new StreamWriter(msENT, leaveOpen: true); + using var twENT = new StreamWriter(msENT, leaveOpen: true); twENT.WriteLine(""); twENT.WriteLine(""); twENT.WriteLine(""); - twENT.Flush(); - twENT.Dispose(); FilePathUtil.addStream("LineNumber.ent", msENT); } @@ -1270,7 +1220,7 @@ public static void CreateLineNumberTestFile(string strFileName) public static void CreateLbNormalizationTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine("&ge1;&ext1;"); - tw.Flush(); - tw.Dispose(); FilePathUtil.addStream(strFileName, ms); // Create Ent file var msPLbNormEnt1 = new MemoryStream(); - TextWriter twENT = new StreamWriter(msPLbNormEnt1, leaveOpen: true); - twENT.WriteLine(""); - twENT.WriteLine(""); - twENT.WriteLine(""); - twENT.WriteLine(); - twENT.Flush(); - twENT.Dispose(); + + { + using var twENT = new StreamWriter(msPLbNormEnt1, leaveOpen: true); + twENT.WriteLine(""); + twENT.WriteLine(""); + twENT.WriteLine(""); + twENT.WriteLine(); + } FilePathUtil.addStream(pLbNormEnt1, msPLbNormEnt1); // Create Ent file var msPLbNormEnt2 = new MemoryStream(); - twENT = new StreamWriter(msPLbNormEnt2, leaveOpen: true); - twENT.WriteLine(""); - twENT.WriteLine("\">"); - twENT.WriteLine(""); - twENT.WriteLine(); - twENT.Flush(); - twENT.Dispose(); + + { + using var twENT = new StreamWriter(msPLbNormEnt2, leaveOpen: true); + twENT.WriteLine(""); + twENT.WriteLine("\">"); + twENT.WriteLine(""); + twENT.WriteLine(); + } FilePathUtil.addStream(pLbNormEnt2, msPLbNormEnt2); } diff --git a/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs b/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs index 12fa665b4b612e..29803dff598581 100644 --- a/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs +++ b/src/libraries/System.Private.Xml.Linq/tests/xNodeReader/ReadBase64.cs @@ -483,11 +483,12 @@ public void RunBase64DoesnNotRunIntoOverflow() string fileName = "bug105376_" + Variation.Params[0].ToString() + ".xml"; var ms = new MemoryStream(); - StreamWriter sw = new StreamWriter(ms, leaveOpen: true); - sw.Write(""); - sw.Write(base64str); - sw.Write(""); - sw.Flush(); + { + using var sw = new StreamWriter(ms, leaveOpen: true); + sw.Write(""); + sw.Write(base64str); + sw.Write(""); + } FilePathUtil.addStream(fileName, ms); @@ -946,15 +947,16 @@ public void ReadBase64DoesNotRunIntoOverflow2() string fileName = "bug105376_" + Variation.Params[0].ToString() + ".xml"; var ms = new MemoryStream(); - StreamWriter sw = new StreamWriter(ms, leaveOpen: true); - sw.Write(""); - sw.Write(base64str); - sw.Write(""); - sw.Flush(); + { + using var sw = new StreamWriter(ms, leaveOpen: true); + sw.Write(""); + sw.Write(base64str); + sw.Write(""); + } FilePathUtil.addStream(fileName, ms); - XmlReader DataReader = GetReader(fileName); + using XmlReader DataReader = GetReader(fileName); int SIZE = (totalfilesize - 30); int SIZE64 = SIZE * 3 / 4; @@ -978,8 +980,6 @@ public void ReadBase64DoesNotRunIntoOverflow2() readSize = 0; currentSize = DataReader.ReadElementContentAsBase64(base64, startPos, readSize); TestLog.Compare(currentSize, 0, "Read other than Zero Bytes"); - - DataReader.Dispose(); } //[Variation("SubtreeReader inserted attributes don't work with ReadContentAsBase64")] From 6b352744aacb2cb940a22548fd29d9ef26b2068b Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Thu, 17 Feb 2022 20:49:15 +0100 Subject: [PATCH 3/3] cleanup few more flushes --- .../tests/XDocument.Common/BridgeHelpers.cs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs b/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs index 05ed48dc43ce24..7e24986509a9a0 100644 --- a/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs +++ b/src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/BridgeHelpers.cs @@ -600,7 +600,7 @@ public static void CreateGenericTestFile(string strFileName) { var ms = new MemoryStream(); - TextWriter tw = new StreamWriter(ms, leaveOpen: true); + using var tw = new StreamWriter(ms, leaveOpen: true); tw.WriteLine(""); tw.WriteLine(""); @@ -792,13 +792,12 @@ public static void CreateGenericTestFile(string strFileName) tw.WriteLine(""); tw.Write(""); - tw.Flush(); FilePathUtil.addStream(strFileName, ms); //Create external DTD file var msDTD = new MemoryStream(); - TextWriter twDTD = new StreamWriter(msDTD, leaveOpen: true); + using var twDTD = new StreamWriter(msDTD, leaveOpen: true); twDTD.WriteLine(""); twDTD.WriteLine(""); twDTD.WriteLine(""); @@ -808,16 +807,16 @@ public static void CreateGenericTestFile(string strFileName) twDTD.WriteLine("att2 CDATA #IMPLIED"); twDTD.WriteLine("att3 CDATA #IMPLIED>"); twDTD.WriteLine(""); - twDTD.Flush(); + FilePathUtil.addStream("AllNodeTypes.dtd", msDTD); // Create Ent file var msENT = new MemoryStream(); - TextWriter twENT = new StreamWriter(msENT, leaveOpen: true); + using var twENT = new StreamWriter(msENT, leaveOpen: true); twENT.WriteLine(""); twENT.WriteLine(""); twENT.WriteLine(""); - twENT.Flush(); + FilePathUtil.addStream("AllNodeTypes.ent", msENT); } @@ -1024,7 +1023,7 @@ public static void CreateBase64TestFile(string strFileName) } var ms = new MemoryStream(); - XmlWriter w = XmlWriter.Create(ms); + using var w = XmlWriter.Create(ms); w.WriteStartDocument(); w.WriteDocType("Root", null, null, ""); w.WriteStartElement("Root"); @@ -1060,7 +1059,6 @@ public static void CreateBase64TestFile(string strFileName) w.WriteRaw("D2BAaabcAQID"); w.WriteEndElement(); w.WriteEndElement(); - w.Flush(); FilePathUtil.addStream(strFileName, ms); }