sw/qa/core/uwriter.cxx |  174 -------------------------------------------------
 1 file changed, 174 deletions(-)

New commits:
commit 2d8f0a9b1ba69e75c517252f8b72143f99570010
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Sep 2 20:34:14 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Fri Sep 3 10:03:05 2021 +0200

    drop SwDocTest::randomTest
    
    it fails sometimes, we have a bug there of some kind, no one has fixed
    it yet in all this time and causing failures on unrelated changes isn't
    getting us anywhere
    
    warn:sw:7502:7502:sw/source/core/doc/DocumentRedlineManager.cxx:109: 
redline table corrupted: overlapping redlines
    cppunittester: sw/source/core/doc/DocumentRedlineManager.cxx:112:
      void (anonymous namespace)::lcl_CheckRedline(IDocumentRedlineAccess &):
      Assertion `std::is_sorted(rTable.begin(), rTable.end(), 
CompareSwRedlineTable())' failed.
    
    Change-Id: I90fe4b4e323a8c00285eab6739af5a6e1ece3838
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121535
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/qa/core/uwriter.cxx b/sw/qa/core/uwriter.cxx
index f676f96c7bde..02f384f6c414 100644
--- a/sw/qa/core/uwriter.cxx
+++ b/sw/qa/core/uwriter.cxx
@@ -98,7 +98,6 @@ public:
     virtual void setUp() override;
     virtual void tearDown() override;
 
-    void randomTest();
     void testTableAutoFormats();
     void testPageDescName();
     void testFileNameFields();
@@ -137,7 +136,6 @@ public:
     CPPUNIT_TEST_SUITE(SwDocTest);
 
     CPPUNIT_TEST(testTransliterate);
-    CPPUNIT_TEST(randomTest);
     CPPUNIT_TEST(testTableAutoFormats);
     CPPUNIT_TEST(testPageDescName);
     CPPUNIT_TEST(testFileNameFields);
@@ -1021,178 +1019,6 @@ void SwDocTest::testGraphicAnchorDeletion()
     //range to which its anchored, which is annoying.
 }
 
-static int
-getRand(int modulus)
-{
-    if (modulus <= 0)
-        return 0;
-    return comphelper::rng::uniform_int_distribution(0, modulus-1);
-}
-
-static OUString
-getRandString()
-{
-    OUString aText("AAAAA BBBB CCC DD E \n");
-    int s = getRand(aText.getLength());
-    int j = getRand(aText.getLength() - s);
-    OUString aRet(aText.copy(s, j));
-    if (!getRand(5))
-        aRet += "\n";
-//    fprintf (stderr, "rand string '%s'\n", OUStringToOString(aRet, 
RTL_TEXTENCODING_UTF8).getStr());
-    return aRet;
-}
-
-static SwPosition
-getRandomPosition(SwDoc *pDoc, int /* nOffset */)
-{
-    const SwPosition aPos(pDoc->GetNodes().GetEndOfContent());
-    size_t nNodes = aPos.nNode.GetNode().GetIndex() - 
aPos.nNode.GetNode().StartOfSectionIndex();
-    // exclude body start/end node
-    size_t n = comphelper::rng::uniform_size_distribution(1, nNodes - 1);
-    SwPaM pam(aPos);
-    for (sal_uLong i = 0; i < n; ++i)
-    {
-        pam.Move(fnMoveBackward, GoInNode);
-    }
-    SwTextNode *const pTextNode(pam.GetPoint()->nNode.GetNode().GetTextNode());
-    assert(pTextNode);
-    int n2 = comphelper::rng::uniform_int_distribution(0, pTextNode->Len());
-    for (sal_Int32 i = 0; i < n2; ++i)
-    {
-        pam.Move(fnMoveBackward, GoInContent);
-    }
-    return *pam.GetPoint();
-}
-
-void SwDocTest::randomTest()
-{
-    OUString aEnvKey("SAL_RAND_REPEATABLE");
-    OUString aEnvValue("1");
-    osl_setEnvironment(aEnvKey.pData, aEnvValue.pData);
-
-    CPPUNIT_ASSERT_MESSAGE("SwDoc::IsRedlineOn()", 
!m_pDoc->getIDocumentRedlineAccess().IsRedlineOn());
-    RedlineFlags modes[] = {
-        RedlineFlags::On,
-        RedlineFlags::ShowMask,
-        RedlineFlags::NONE,
-        RedlineFlags::On | RedlineFlags::ShowMask,
-        RedlineFlags::On | RedlineFlags::Ignore,
-        RedlineFlags::On | RedlineFlags::ShowInsert,
-        RedlineFlags::On | RedlineFlags::ShowDelete
-    };
-    static const char *authors[] = {
-        "Jim", "Bob", "JimBobina", "Helga", "Gertrude", "Spagna", "Hurtleweed"
-    };
-
-    for( size_t rlm = 0; rlm < SAL_N_ELEMENTS(modes); rlm++ )
-    {
-        m_pDoc->GetIDocumentUndoRedo().DoUndo(true);
-        m_pDoc->ClearDoc();
-
-        // setup redlining
-        m_pDoc->getIDocumentRedlineAccess().SetRedlineFlags(modes[rlm]);
-        SW_MOD()->SetRedlineAuthor(OUString::createFromAscii(authors[0]));
-
-        for( int i = 0; i < 2000; i++ )
-        {
-            std::shared_ptr<SwUnoCursor> pCrs(
-                m_pDoc->CreateUnoCursor(getRandomPosition(m_pDoc, i/20)));
-
-            switch (getRand (i < 50 ? 3 : 6)) {
-            // insert ops first
-            case 0: {
-                OUString const tmp(getRandString());
-                sal_Int32 current(0);
-                sal_Int32 nextBreak(tmp.indexOf('\n'));
-                do
-                {
-                    sal_Int32 const len((nextBreak == -1 ? tmp.getLength() : 
nextBreak - current));
-                    if (0 < len)
-                    {
-                        m_pDoc->getIDocumentContentOperations().InsertString(
-                            *pCrs, tmp.copy(current, len));
-                    }
-                    if (nextBreak != -1)
-                    {
-                        
m_pDoc->getIDocumentContentOperations().SplitNode(*pCrs->GetPoint(), false);
-                        current = nextBreak + 1;
-                        nextBreak = tmp.indexOf('\n', current);
-                    }
-                }
-                while (nextBreak != -1);
-                break;
-            }
-            case 1:
-                break;
-            case 2: { // switch author
-                int a = getRand(SAL_N_ELEMENTS(authors));
-                
SW_MOD()->SetRedlineAuthor(OUString::createFromAscii(authors[a]));
-                break;
-            }
-
-            // movement / deletion ops later
-            case 3: // deletion
-                pCrs->SetMark();
-                switch (getRand(6)) {
-                case 0:
-                    *pCrs->GetMark() = getRandomPosition(m_pDoc, 42);
-                    m_pDoc->getIDocumentContentOperations().DelFullPara(*pCrs);
-                    break;
-                case 1:
-                    *pCrs->GetMark() = getRandomPosition(m_pDoc, 42);
-                    m_pDoc->getIDocumentContentOperations().DeleteRange(*pCrs);
-                    break;
-                case 2:
-                    *pCrs->GetMark() = getRandomPosition(m_pDoc, 42);
-                    
m_pDoc->getIDocumentContentOperations().DeleteAndJoin(*pCrs, !!getRand(1));
-                    break;
-                case 3:
-                default:
-                    OUString const tmp(getRandString());
-                    if (tmp.getLength())
-                    {
-                        
m_pDoc->getIDocumentContentOperations().Overwrite(*pCrs, tmp);
-                    }
-                    break;
-                }
-                break;
-            case 4: { // movement
-                SwMoveFlags nFlags =
-                         getRand(1) // FIXME: puterb this more ?
-                         ? SwMoveFlags::DEFAULT
-                         : SwMoveFlags::CREATEUNDOOBJ |
-                           SwMoveFlags::REDLINES |
-                           SwMoveFlags::NO_DELFRMS;
-                SwPosition aTo(getRandomPosition(m_pDoc, i/10));
-                m_pDoc->getIDocumentContentOperations().MoveRange(*pCrs, aTo, 
nFlags);
-                break;
-            }
-
-            case 5:
-                break;
-
-            // undo / redo ?
-            default:
-                break;
-            }
-        }
-
-// Debug / verify the produced document has real content
-#if 0
-        OStringBuffer aBuffer("nodes-");
-        aBuffer.append(sal_Int32(rlm));
-        aBuffer.append(".xml");
-
-        xmlTextWriterPtr writer;
-        writer = xmlNewTextWriterFilename( 
aBuffer.makeStringAndClear().getStr(), 0 );
-        (void)xmlTextWriterStartDocument( writer, NULL, NULL, NULL );
-        m_pDoc->dumpAsXml(writer);
-        (void)xmlTextWriterEndDocument( writer );
-        xmlFreeTextWriter( writer );
-#endif
-    }
-}
-
 void SwDocTest::testTableAutoFormats()
 {
     SwGlobals::ensure();

Reply via email to