README.md: include more information about testing & Buildbot instance

This commit is contained in:
Moritz Bunkus 2017-01-06 20:39:27 +01:00
parent c06d7a9ed5
commit 3fff4ef929

View File

@ -12,7 +12,8 @@ MKVToolNix 9.7.1
5. Notes for compilation on (Open)Solaris
6. Unit tests
3. Reporting bugs
4. Included libraries and their licenses
4. Test suite and continuous integration tests
5. Included libraries and their licenses
1. avilib
2. Boost's utf8_codecvt_facet
3. libEBML
@ -239,11 +240,44 @@ them somewhere and post a link in the issue. You can also upload them
to my FTP server. Details on how to connect can be found in the
[MKVToolNix FAQ](https://github.com/mbunkus/mkvtoolnix/wiki/FTP-server).
# 4. Included libraries and their licenses
# 4. Test suite and continuous integration tests
MKVToolNix contains a lot of test cases in order to detect regressions
before they're released. Regressions include both compilation issues
as well as changes from expected program behavior.
As mentioned in section 2.6., MKVToolNix comes with a set of unit
tests based on the Google Test library in the `tests/unit`
sub-directory that you can run yourself. These cover only a small
amount of code, and any effort to extend them would be most welcome.
A second test suite exists that targets the program behavior, e.g. the
output generated by mkvmerge when specific options are used with
specific input files. These are the test cases in the `tests`
directory itself. Unfortunately the files they run on often contain
copyrighted material that I cannot distribute. Therefore you cannot
run them yourself.
A third pillar of the testing effort is the
[continuous integration tests](https://mkvtoolnix.download/buildbot/grid)
run on a Buildbot instance. These are run automatically for each
commit made to the git repository. The tests include:
* building of all the packages for Linux distributions that I
normally provide for download myself in both 32bit and 64bit
variants
* building of the Windows installer and portable packages in both
32bit and 64bit variants
* building with both g++ and clang++
* building and running the unit tests
* building and running the test file test suite
* building with all optional features disabled
# 5. Included libraries and their licenses
MKVToolNix includes and uses the following libraries:
## 4.1. avilib
## 5.1. avilib
Reading and writing avi files.
@ -253,7 +287,7 @@ of the transcode package.
License: GNU General Public License v2
URL: http://www.transcoding.org/
## 4.2. Boost's utf8_codecvt_facet
## 5.2. Boost's utf8_codecvt_facet
A class utf8_codecvt_facet, derived from std::codecvt<wchar_t, char>,
which can be used to convert utf8 data in files into wchar_t strings
@ -262,21 +296,21 @@ in the application.
License: Boost Software License - Version 1.0
URL: http://www.boost.org
## 4.3. libEBML
## 5.3. libEBML
A C++ library to parse EBML files
License: GNU Lesser General Public License v2.1
URL: http://www.matroska.org/
## 4.4. libMatroska
## 5.4. libMatroska
A C++ library to parse Matroska files
License: GNU Lesser General Public License v2.1
URL: http://www.matroska.org/
## 4.5. librmff
## 5.5. librmff
librmff is short for 'RealMedia file format access library'. It aims
at providing the programmer an easy way to read and write RealMedia
@ -285,21 +319,21 @@ files.
License: GNU Lesser General Public License v2.1
URL: https://www.bunkus.org/videotools/librmff/index.html
## 4.6. nlohmann's JSON
## 5.6. nlohmann's JSON
JSON for Modern C++
License: MIT
URL: https://github.com/nlohmann/json
## 4.7. pugixml
## 5.7. pugixml
An XML processing library
License: MIT
URL: http://pugixml.org/
## 4.8. utf8-cpp
## 5.8. utf8-cpp
UTF-8 with C++ in a Portable Way