<html><head></head><body dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Wonderful! Thanks Kristof!<br><br><blockquote type="cite">On Sep 23, 2015, at 8:33 AM, Kristof Beyls <kristof.beyls@arm.com> wrote:<br><br>kristof.beyls created this revision.<br>kristof.beyls added reviewers: cmatthews, ddunbar.<br>kristof.beyls added a subscriber: llvm-commits.<br><br>After not having worked on LNT for a while, it took me a little while to figure out again how to run the LNT regression tests.<br>This made me think that we should have an LNT developer guide, to make it easier to get started on developing LNT.<br>This patch is an attempt at a very initial set of guidelines for doing LNT development.<br><br>http://reviews.llvm.org/D13101<br><br>Files:<br> docs/contents.rst<br> docs/developer_guide.rst<br><br>Index: docs/developer_guide.rst<br>===================================================================<br>--- /dev/null<br>+++ docs/developer_guide.rst<br>@@ -0,0 +1,49 @@<br>+.. _developer_guide:<br>+<br>+Developer Guide<br>+===============<br>+<br>+This developer guide aims to get you started with developing LNT. At the<br>+moment, a lot of detailed info is missing, but hopefully this will get you<br>+started.<br>+<br>+Installation<br>+------------<br>+<br>+See _quickstart for setting up an installation. Use the "develop" option when<br>+running ~/lnt/setup.py.<br>+<br>+Running LNT's Regression Tests<br>+------------------------------<br>+<br>+LNT has a growing body of regression tests that makes it easier to improve LNT<br>+without accidentally breaking existing functionality. Just like when developing<br>+most other LLVM sub-projects, you should consider adding regression tests for<br>+every feature you add or every bug you fix. The regression tests must pass at<br>+all times, therefore you should run the regression tests as part of your<br>+development work-flow, just like you do when developing on other LLVM<br>+sub-projects.<br>+<br>+The LNT regression tests make use of lit and other tools like FileCheck. At<br>+the moment, probably the easiest way to get them installed is to compile LLVM<br>+and use the binaries that are generated there. Assuming you've build LLVM<br>+into $LLVMBUILD, you can run the regression tests using the following command::<br>+<br>+     PATH=$LLVMBUILD/bin:$PATH llvm-lit -sv ./tests<br>+<br>+If you don't like temporary files being created in your LNT source directory,<br>+you can run the tests in a different directory too::<br>+<br>+     mkdir ../run_lnt_tests<br>+     cd ../run_lnt_tests<br>+     PATH=$LLVMBUILD/bin:$PATH llvm-lit -sv ../lnt/tests<br>+<br>+For simple changes, adding a regression test and making sure all regression<br>+tests pass, is often a good enough testing approach. For some changes, the<br>+existing regression tests aren't good enough at the moment, and manual testing<br>+will be needed. For any changes that touch on the LNT database design, you'll<br>+need to run tests on at least sqlite and postgress database engines.  By<br>+default, LNT uses sqlite, and most of the regression tests still use a<br>+temporary sqlite database to run tests against. Therefore, at the moment,<br>+you'll probably need to do some manual testing on a setup with a postgress<br>+database if you touch database functionality.<br>Index: docs/contents.rst<br>===================================================================<br>--- docs/contents.rst<br>+++ docs/contents.rst<br>@@ -16,6 +16,8 @@<br><br>   changes<br><br>+   developer_guide<br>+<br>   todo<br><br>Indices and tables<br><br><br><D13101.35507.patch><br></blockquote><br></body></html>