[LNT] r248477 - Add initial LNT developer guide.

Kristof Beyls via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 24 01:15:12 PDT 2015

Author: kbeyls
Date: Thu Sep 24 03:15:12 2015
New Revision: 248477

URL: http://llvm.org/viewvc/llvm-project?rev=248477&view=rev
Add initial LNT developer guide.

Differential Revision: http://reviews.llvm.org/D13101


Modified: lnt/trunk/docs/contents.rst
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/docs/contents.rst?rev=248477&r1=248476&r2=248477&view=diff
--- lnt/trunk/docs/contents.rst (original)
+++ lnt/trunk/docs/contents.rst Thu Sep 24 03:15:12 2015
@@ -16,6 +16,8 @@ Contents
+   developer_guide
 Indices and tables

Added: lnt/trunk/docs/developer_guide.rst
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/docs/developer_guide.rst?rev=248477&view=auto
--- lnt/trunk/docs/developer_guide.rst (added)
+++ lnt/trunk/docs/developer_guide.rst Thu Sep 24 03:15:12 2015
@@ -0,0 +1,49 @@
+.. _developer_guide:
+Developer Guide
+This developer guide aims to get you started with developing LNT. At the
+moment, a lot of detailed info is missing, but hopefully this will get you
+See :ref:`quickstart` for setting up an installation. Use the "develop" option
+when running ~/lnt/setup.py.
+Running LNT's Regression Tests
+LNT has a growing body of regression tests that makes it easier to improve LNT
+without accidentally breaking existing functionality. Just like when developing
+most other LLVM sub-projects, you should consider adding regression tests for
+every feature you add or every bug you fix. The regression tests must pass at
+all times, therefore you should run the regression tests as part of your
+development work-flow, just like you do when developing on other LLVM
+The LNT regression tests make use of lit and other tools like FileCheck. At
+the moment, probably the easiest way to get them installed is to compile LLVM
+and use the binaries that are generated there. Assuming you've build LLVM
+into $LLVMBUILD, you can run the regression tests using the following command::
+     PATH=$LLVMBUILD/bin:$PATH llvm-lit -sv ./tests
+If you don't like temporary files being created in your LNT source directory,
+you can run the tests in a different directory too::
+     mkdir ../run_lnt_tests
+     cd ../run_lnt_tests
+     PATH=$LLVMBUILD/bin:$PATH llvm-lit -sv ../lnt/tests
+For simple changes, adding a regression test and making sure all regression
+tests pass, is often a good enough testing approach. For some changes, the
+existing regression tests aren't good enough at the moment, and manual testing
+will be needed. For any changes that touch on the LNT database design, you'll
+need to run tests on at least sqlite and postgress database engines.  By
+default, LNT uses sqlite, and most of the regression tests still use a
+temporary sqlite database to run tests against. Therefore, at the moment,
+you'll probably need to do some manual testing on a setup with a postgress
+database if you touch database functionality.

More information about the llvm-commits mailing list