[PATCH] make cmakeduchaintest run without asserts

Aleix Pol aleixpol at kde.org
Sun May 24 02:47:24 UTC 2009


Can you commit that?

Big thanks for this work, i was something I wanted to look at for some time
but never found the time to do so.

Really, thanks :).

Aleix

On Sat, May 23, 2009 at 11:18 PM, Peter Oberndorfer <kumbayo84 at arcor.de>wrote:

> vm.insert CMAKE_CURRENT_SOURCE_DIR is needed since 953842
> where a Q_ASSERT was added to make sure CMAKE_CURRENT_SOURCE_DIR is defined
>
> addDocumentChain in testUses is needed to avoid assert indexed.data() ==
> context
> in removeDocumentChain that fires when a addDocumentChain was never called
>
> addDocumentChain + removeDocumentChain testDUChainWalk
> are needed to avoid assert m_recursiveImports.isEmpty()
> in TopDUContextLocalPrivate::clearImportedContextsRecursively
> ---
>
> I am no duchain/cmake expert, so please review carefully.
> Also i don't know if addDocumentChain + removeDocumentChain
> is the right cure for the m_recursiveImports.isEmpty() assert.
>
> If it is, i plan to fix cmake_cmakeprojectvisitor_test.cpp the same way.
> (it also triggers the m_recursiveImports.isEmpty() assert)
>
>  projectmanagers/cmake/tests/cmakeduchaintest.cpp |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/projectmanagers/cmake/tests/cmakeduchaintest.cpp
> b/projectmanagers/cmake/tests/cmakeduchaintest.cpp
> index 1b5f56f..ec0e625 100644
> --- a/projectmanagers/cmake/tests/cmakeduchaintest.cpp
> +++ b/projectmanagers/cmake/tests/cmakeduchaintest.cpp
> @@ -83,6 +83,7 @@ void CMakeDUChainTest::testDUChainWalk()
>     {
>         DUChainWriteLocker lock(DUChain::lock());
>         m_fakeContext = new TopDUContext(IndexedString("test"),
> SimpleRange(0,0,0,0));
> +        DUChain::self()->addDocumentChain(m_fakeContext);
>     }
>
>     QFile file("cmake_duchain_test");
> @@ -98,6 +99,7 @@ void CMakeDUChainTest::testDUChainWalk()
>     MacroMap mm;
>     VariableMap vm;
>     CacheValues cv;
> +    vm.insert("CMAKE_CURRENT_SOURCE_DIR", QStringList("."));
>
>     CMakeProjectVisitor v(file.fileName(), m_fakeContext);
>     v.setVariableMap(&vm);
> @@ -135,6 +137,8 @@ void CMakeDUChainTest::testDUChainWalk()
>             qDebug() << "doesn't exist " << sr.start.column <<
> sr.end.column;
>         QVERIFY(found);
>     }
> +
> +    DUChain::self()->removeDocumentChain(m_fakeContext);
>  }
>
>  void CMakeDUChainTest::testUses_data()
> @@ -209,6 +213,7 @@ void CMakeDUChainTest::testUses()
>         }
>     }
>     ReferencedTopDUContext m_fakeContext=new
> TopDUContext(IndexedString(file.fileName()), SimpleRange(0,0, endl, endc));
> +    DUChain::self()->addDocumentChain(m_fakeContext);
>
>     QString inputIncluded=
>         "set(avalue 33)\n"
> @@ -227,6 +232,7 @@ void CMakeDUChainTest::testUses()
>     MacroMap mm;
>     VariableMap vm;
>     CacheValues cv;
> +    vm.insert("CMAKE_CURRENT_SOURCE_DIR", QStringList("."));
>
>     CMakeProjectVisitor v(file.fileName(), m_fakeContext);
>     v.setVariableMap(&vm);
> --
> 1.6.3.1
>
>
> _______________________________________________
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20090524/dfc1dc7d/attachment.html>


More information about the KDevelop-devel mailing list