Added unit test compile and run instructions to BUILDING.md

This commit is contained in:
Justin Clift
2014-07-06 09:07:02 +01:00
parent 968c12ae7c
commit 72ee0ce192
2 changed files with 117 additions and 67 deletions
-67
View File
@@ -1,67 +0,0 @@
BUILD INSTRUCTIONS AND REQUIREMENTS
SQLite Database Browser requires Trolltech's Qt, version 4.6 or newer.
For more information on Qt please consult
http://www.qtsoftware.com. The GPL version of Qt is available in almost
all Linux distributions as a default package.
The only requirements for building this code are the presence of Qt and sqlite3.
Qt can be included as a static or shared library, depending on the current Qt
configuration on the building machine.
Provided you have Qt and cmake installed and configured, simply run
cmake
followed by
make
in the main directory. This will generate the sqlitebrowser (or
sqlitebrowser.exe, or sqlitebrowser.app) application in the src subdirectory.
The same process works for building the code
in any platform supported by Qt (including other Unix systems with
X11.)
Cross compile windows
=====================
These are instructions to cross compile within a Linux system a Windows binary and installer
Requirements:
* mxe cross compile environment --> http://mxe.cc
* cmake
* sqlitebrowser sources
Get the following mxe packages:
make gcc sqlite qt nsis
After successful compilation go into your mxedir/usr/bin and add 2 symlinks:
ln -s i686-pc-mingw32-windres windres
ln -s i686-pc-mingw32-makensis makensis
Now cd into your sqlitebrowser source directory and create a build directory for
the windows binary and create the correct makefiles:
mkdir build-win
cd build-win
cmake -DCMAKE_TOOLCHAIN_FILE=/path to mxe/usr/i686-pc-mingw32/share/cmake/mxe-conf.cmake ..
Before compiling we have to add the mxe/usr/bin directory to the PATH (so windres and makensis can be found):
export PATH=/path to mxe/usr/bin:$PATH
Now compile:
make
If additionaly want an NSIS install:
make package
done.
+117
View File
@@ -0,0 +1,117 @@
## BUILD INSTRUCTIONS AND REQUIREMENTS ##
SQLite Database Browser requires Trolltech's Qt, version 4.6 or newer.
For more information on Qt please consult http://www.qtsoftware.com.
The GPL version of Qt is available in almost all Linux distributions
as a default package.
The only requirements for building this code are the presence of Qt
and sqlite3. Qt can be included as a static or shared library,
depending on the current Qt configuration on the building machine.
Provided you have Qt and cmake installed and configured, simply run
$ cmake
followed by
$ make
in the main directory. This will generate the sqlitebrowser (or
sqlitebrowser.exe, or sqlitebrowser.app) application in the src
subdirectory.
The same process works for building the code in any platform
supported by Qt (including other Unix systems with X11.)
### Cross compiling for Windows ###
These are instructions to cross compile within a Linux system a
Windows binary and installer.
Requirements:
* mxe cross compile environment → http://mxe.cc
* cmake
* sqlitebrowser sources
Get the following mxe packages:
$ make gcc sqlite qt nsis
After successful compilation go into your mxedir/usr/bin and
add 2 symlinks:
$ ln -s i686-pc-mingw32-windres windres
$ ln -s i686-pc-mingw32-makensis makensis
Now cd into your sqlitebrowser source directory and create
a build directory for
the windows binary and create the correct makefiles:
$ mkdir build-win
$ cd build-win
$ cmake -DCMAKE_TOOLCHAIN_FILE=/path to mxe/usr/i686-pc-mingw32/share/cmake/mxe-conf.cmake ..
Before compiling we have to add the mxe/usr/bin directory
to the PATH (so windres and makensis can be found):
$ export PATH=/path to mxe/usr/bin:$PATH
Now compile:
$ make
If you additionaly want an NSIS installer:
$ make package
done.
## Compiling and running the Unit Tests ##
SQLite Browser has unit tests in the "tests" subdirectory.
### Compile the unit tests ###
Compile them like this:
```
$ cd tests
$ mkdir build
$ cd build
$ cmake ..
$ make
```
### Run the unit tests ###
Then run them like this:
```
$ ./sqlb-unittests
********* Start testing of TestTable *********
Config: Using QTest library 4.8.6, Qt 4.8.6
PASS : TestTable::initTestCase()
PASS : TestTable::sqlOutput()
PASS : TestTable::autoincrement()
PASS : TestTable::notnull()
PASS : TestTable::withoutRowid()
PASS : TestTable::parseSQL()
PASS : TestTable::parseSQLdefaultexpr()
PASS : TestTable::parseSQLMultiPk()
PASS : TestTable::parseSQLForeignKey()
PASS : TestTable::parseSQLSingleQuotes()
PASS : TestTable::parseSQLKeywordInIdentifier()
PASS : TestTable::parseSQLWithoutRowid()
PASS : TestTable::parseNonASCIIChars()
PASS : TestTable::createTableWithIn()
PASS : TestTable::createTableWithNotLikeConstraint()
PASS : TestTable::cleanupTestCase()
Totals: 16 passed, 0 failed, 0 skipped
********* Finished testing of TestTable *********
```
Everything should PASS, with no failures and nothing
skipped.