Reorganize license files
The new layout better follows GNU recommendations and allows
licensee (and thus GitHub) to properly recognize the LGPL.
Change-Id: Ibc4dd5e09a60364730a5df28abe99d73ebb93ff7
diff --git a/COPYING.lesser b/COPYING.lesser
new file mode 100644
index 0000000..6fb6a01
--- /dev/null
+++ b/COPYING.lesser
@@ -0,0 +1,157 @@
+# GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+<https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+This version of the GNU Lesser General Public License incorporates the
+terms and conditions of version 3 of the GNU General Public License,
+supplemented by the additional permissions listed below.
+
+## 0. Additional Definitions.
+
+As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the
+GNU General Public License.
+
+"The Library" refers to a covered work governed by this License, other
+than an Application or a Combined Work as defined below.
+
+An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+## 1. Exception to Section 3 of the GNU GPL.
+
+You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+## 2. Conveying Modified Versions.
+
+If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+- a) under this License, provided that you make a good faith effort
+ to ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+- b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+## 3. Object Code Incorporating Material from Library Header Files.
+
+The object code form of an Application may incorporate material from a
+header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+- a) Give prominent notice with each copy of the object code that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the object code with a copy of the GNU GPL and this
+ license document.
+
+## 4. Combined Works.
+
+You may convey a Combined Work under terms of your choice that, taken
+together, effectively do not restrict modification of the portions of
+the Library contained in the Combined Work and reverse engineering for
+debugging such modifications, if you also do each of the following:
+
+- a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the Combined Work with a copy of the GNU GPL and this
+ license document.
+- c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+- d) Do one of the following:
+ - 0) Convey the Minimal Corresponding Source under the terms of
+ this License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+ - 1) Use a suitable shared library mechanism for linking with
+ the Library. A suitable mechanism is one that (a) uses at run
+ time a copy of the Library already present on the user's
+ computer system, and (b) will operate properly with a modified
+ version of the Library that is interface-compatible with the
+ Linked Version.
+- e) Provide Installation Information, but only if you would
+ otherwise be required to provide such information under section 6
+ of the GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the Application
+ with a modified version of the Linked Version. (If you use option
+ 4d0, the Installation Information must accompany the Minimal
+ Corresponding Source and Corresponding Application Code. If you
+ use option 4d1, you must provide the Installation Information in
+ the manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.)
+
+## 5. Combined Libraries.
+
+You may place library facilities that are a work based on the Library
+side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+- a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities, conveyed under the terms of this License.
+- b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+## 6. Revised Versions of the GNU Lesser General Public License.
+
+The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+as you received it specifies that a certain numbered version of the
+GNU Lesser General Public License "or any later version" applies to
+it, you have the option of following the terms and conditions either
+of that published version or of any later version published by the
+Free Software Foundation. If the Library as you received it does not
+specify a version number of the GNU Lesser General Public License, you
+may choose any version of the GNU Lesser General Public License ever
+published by the Free Software Foundation.
+
+If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/COPYING.md b/COPYING.md
index 084ab1f..496acdb 100644
--- a/COPYING.md
+++ b/COPYING.md
@@ -1,39 +1,4 @@
-ndn-cxx is licensed under the terms of the GNU Lesser General Public License,
-version 3 or later.
-
-ndn-cxx relies on third-party software, licensed under the following licenses:
-
-- The Boost libraries are licensed under the
- [Boost Software License 1.0](https://www.boost.org/users/license.html)
-
-- OpenSSL is licensed under the
- [Apache License 2.0](https://www.openssl.org/source/license.html)
-
-- scope-lite by Martin Moene is licensed under the
- [Boost Software License 1.0](https://github.com/martinmoene/scope-lite/blob/master/LICENSE.txt)
-
-- span-lite by Martin Moene is licensed under the
- [Boost Software License 1.0](https://github.com/martinmoene/span-lite/blob/master/LICENSE.txt)
-
-- SQLite is in the [public domain](https://www.sqlite.org/copyright.html)
-
-- The waf build system is licensed under the terms of the
- [BSD license](https://github.com/named-data/ndn-cxx/blob/master/waf)
-
-The ndn-cxx library also relies on other third-party software with a GPL-incompatible
-free software license. The following libraries fall into the category of "System
-Libraries" under the GPL license definitions and are used in accordance with the GPL
-license exception for "System Libraries":
-
-- *(macOS platform only)* The macOS Security Framework is licensed under the
- [Apple Public Source License 2.0](https://opensource.apple.com/apsl)
-
-The LGPL and GPL licenses are provided below in this file. For more information
-about these licenses, see <https://www.gnu.org/licenses/>
-
---------------------------------------------------------------------------------
-
-### GNU LESSER GENERAL PUBLIC LICENSE
+# GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
@@ -43,167 +8,7 @@
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
-This version of the GNU Lesser General Public License incorporates the
-terms and conditions of version 3 of the GNU General Public License,
-supplemented by the additional permissions listed below.
-
-#### 0. Additional Definitions.
-
-As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the
-GNU General Public License.
-
-"The Library" refers to a covered work governed by this License, other
-than an Application or a Combined Work as defined below.
-
-An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
-A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
-The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
-The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
-#### 1. Exception to Section 3 of the GNU GPL.
-
-You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
-#### 2. Conveying Modified Versions.
-
-If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
-- a) under this License, provided that you make a good faith effort
- to ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
-#### 3. Object Code Incorporating Material from Library Header Files.
-
-The object code form of an Application may incorporate material from a
-header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
-- a) Give prominent notice with each copy of the object code that
- the Library is used in it and that the Library and its use are
- covered by this License.
-- b) Accompany the object code with a copy of the GNU GPL and this
- license document.
-
-#### 4. Combined Works.
-
-You may convey a Combined Work under terms of your choice that, taken
-together, effectively do not restrict modification of the portions of
-the Library contained in the Combined Work and reverse engineering for
-debugging such modifications, if you also do each of the following:
-
-- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-- b) Accompany the Combined Work with a copy of the GNU GPL and this
- license document.
-- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-- d) Do one of the following:
- - 0) Convey the Minimal Corresponding Source under the terms of
- this License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
- - 1) Use a suitable shared library mechanism for linking with
- the Library. A suitable mechanism is one that (a) uses at run
- time a copy of the Library already present on the user's
- computer system, and (b) will operate properly with a modified
- version of the Library that is interface-compatible with the
- Linked Version.
-- e) Provide Installation Information, but only if you would
- otherwise be required to provide such information under section 6
- of the GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the Application
- with a modified version of the Linked Version. (If you use option
- 4d0, the Installation Information must accompany the Minimal
- Corresponding Source and Corresponding Application Code. If you
- use option 4d1, you must provide the Installation Information in
- the manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.)
-
-#### 5. Combined Libraries.
-
-You may place library facilities that are a work based on the Library
-side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
-- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities, conveyed under the terms of this License.
-- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
-#### 6. Revised Versions of the GNU Lesser General Public License.
-
-The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-as you received it specifies that a certain numbered version of the
-GNU Lesser General Public License "or any later version" applies to
-it, you have the option of following the terms and conditions either
-of that published version or of any later version published by the
-Free Software Foundation. If the Library as you received it does not
-specify a version number of the GNU Lesser General Public License, you
-may choose any version of the GNU Lesser General Public License ever
-published by the Free Software Foundation.
-
-If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
-
---------------------------------------------------------------------------------
-
-### GNU GENERAL PUBLIC LICENSE
-
-Version 3, 29 June 2007
-
-Copyright (C) 2007 Free Software Foundation, Inc.
-<https://fsf.org/>
-
-Everyone is permitted to copy and distribute verbatim copies of this
-license document, but changing it is not allowed.
-
-### Preamble
+## Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
@@ -268,9 +73,9 @@
The precise terms and conditions for copying, distribution and
modification follow.
-### TERMS AND CONDITIONS
+## TERMS AND CONDITIONS
-#### 0. Definitions.
+### 0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
@@ -310,7 +115,7 @@
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
-#### 1. Source Code.
+### 1. Source Code.
The "source code" for a work means the preferred form of the work for
making modifications to it. "Object code" means any non-source form of
@@ -351,7 +156,7 @@
The Corresponding Source for a work in source code form is that same
work.
-#### 2. Basic Permissions.
+### 2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
@@ -376,7 +181,7 @@
conditions stated below. Sublicensing is not allowed; section 10 makes
it unnecessary.
-#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
@@ -392,7 +197,7 @@
the work's users, your or third parties' legal rights to forbid
circumvention of technological measures.
-#### 4. Conveying Verbatim Copies.
+### 4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
@@ -405,7 +210,7 @@
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
-#### 5. Conveying Modified Source Versions.
+### 5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
@@ -440,7 +245,7 @@
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
-#### 6. Conveying Non-Source Forms.
+### 6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of
sections 4 and 5, provided that you also convey the machine-readable
@@ -536,7 +341,7 @@
source code form), and must require no special password or key for
unpacking, reading or copying.
-#### 7. Additional Terms.
+### 7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
@@ -595,7 +400,7 @@
form of a separately written license, or stated as exceptions; the
above requirements apply either way.
-#### 8. Termination.
+### 8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
@@ -623,7 +428,7 @@
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
-#### 9. Acceptance Not Required for Having Copies.
+### 9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run
a copy of the Program. Ancillary propagation of a covered work
@@ -634,7 +439,7 @@
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
-#### 10. Automatic Licensing of Downstream Recipients.
+### 10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
@@ -659,7 +464,7 @@
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
-#### 11. Patents.
+### 11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
@@ -728,7 +533,7 @@
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
-#### 12. No Surrender of Others' Freedom.
+### 12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
@@ -741,7 +546,7 @@
satisfy both those terms and this License would be to refrain entirely
from conveying the Program.
-#### 13. Use with the GNU Affero General Public License.
+### 13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
@@ -752,7 +557,7 @@
section 13, concerning interaction through a network will apply to the
combination as such.
-#### 14. Revised Versions of this License.
+### 14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions
of the GNU General Public License from time to time. Such new versions
@@ -778,7 +583,7 @@
author or copyright holder as a result of your choosing to follow a
later version.
-#### 15. Disclaimer of Warranty.
+### 15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
@@ -790,7 +595,7 @@
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
CORRECTION.
-#### 16. Limitation of Liability.
+### 16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
@@ -802,7 +607,7 @@
TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-#### 17. Interpretation of Sections 15 and 16.
+### 17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
@@ -813,7 +618,7 @@
END OF TERMS AND CONDITIONS
-### How to Apply These Terms to Your New Programs
+## How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
diff --git a/README-dev.md b/README-dev.md
index 2183b31..bda38c0 100644
--- a/README-dev.md
+++ b/README-dev.md
@@ -1,97 +1,104 @@
-Notes for ndn-cxx developers
-============================
+# Notes for ndn-cxx developers
If you are new to the NDN software community, please read our
[Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md).
-Code style
-----------
+## Code style
ndn-cxx code is subject to [ndn-cxx code style](https://docs.named-data.net/ndn-cxx/current/code-style.html).
-Licensing
----------
+## Licensing
Contributions to ndn-cxx must be licensed under the LGPL v3 or a compatible license.
If you choose the LGPL v3, please use the following license boilerplate in all `.hpp`
and `.cpp` files:
- /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
- /*
- * Copyright (c) [Year(s)] [Copyright Holder(s)].
- *
- * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
- *
- * ndn-cxx library is free software: you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received copies of the GNU General Public License and GNU Lesser
- * General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
- */
+```cpp
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) [Year(s)], [Copyright Holder(s)].
+ *
+ * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
+ *
+ * ndn-cxx library is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received copies of the GNU General Public License and GNU Lesser
+ * General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ */
+```
If you are affiliated to an NSF-supported NDN project institution, please use the [NDN Team License
Boilerplate](https://redmine.named-data.net/projects/ndn-cxx/wiki/NDN_Team_License_Boilerplate_(ndn-cxx)).
-Running unit tests
-------------------
+## Unit tests
To run the unit tests, ndn-cxx needs to be built with unit test support and installed
into the configured location. For example:
- ./waf configure --with-tests # --debug is also strongly recommended while developing
- ./waf
- sudo ./waf install
+```shell
+./waf configure --with-tests # --debug is also strongly recommended while developing
+./waf
+sudo ./waf install
+```
-**Note**: On Linux you also need to run `sudo ldconfig` to reconfigure dynamic loader
-run-time bindings.
+> [!TIP]
+> On Linux you may also need to run `sudo ldconfig` to reconfigure the dynamic linker bindings.
The simplest way to run the tests is to launch the compiled binary without any parameters:
- ./build/unit-tests
+```shell
+./build/unit-tests
+```
The [Boost.Test framework](https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/index.html)
is very flexible and allows a number of run-time customization of what tests should be run.
For example, it is possible to choose to run only a specific test suite, only a specific
-test case within a suite, or specific test cases within specific test suites:
+test case within a suite, specific test cases across multiple test suites, and so on:
- # Run only Face test suite tests (tests/unit/face.t.cpp)
- ./build/unit-tests -t TestFace
+```shell
+# Run all the test cases inside the Face test suite (tests/unit/face.t.cpp)
+./build/unit-tests -t TestFace
- # Run only test case ExpressInterestData from the same test suite
- ./build/unit-tests -t TestFace/ExpressInterestData
+# Run only the test case "ExpressInterestData" from the previous test suite
+./build/unit-tests -t TestFace/ExpressInterestData
- # Run Basic test case from all test suites
- ./build/unit-tests -t */Basic
+# Run the "Basic" test case from all test suites
+./build/unit-tests -t */Basic
+```
By default, Boost.Test framework will produce verbose output only when a test case fails.
If it is desired to see verbose output (result of each test assertion), add `-l all`
option to `./build/unit-tests` command. To see test progress, you can use `-l test_suite`,
or `-p` to show a progress bar:
- # Show report all log messages including the passed test notification
- ./build/unit-tests -l all
+```shell
+# Show report all log messages including the passed test notification
+./build/unit-tests -l all
- # Show test suite messages
- ./build/unit-tests -l test_suite
+# Show test suite messages
+./build/unit-tests -l test_suite
- # Show nothing
- ./build/unit-tests -l nothing
+# Show nothing
+./build/unit-tests -l nothing
- # Show progress bar
- ./build/unit-tests -p
+# Show progress bar
+./build/unit-tests -p
+```
There are many more command line options available, information about which can be obtained
either from the command line using the `--help` switch, or online on the
[Boost.Test website](https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/boost_test/runtime_config.html).
-**Warning:** If you have customized parameters for NDN platform using `client.conf` in
-`/etc/ndn` or `/usr/local/etc/ndn` (or other `@SYSCONFDIR@/etc` if it was configured to custom
-path during `./waf configure`), Face-related test cases may fail.
+> [!WARNING]
+> If you have a customized `client.conf` in `~/.ndn`, `/etc/ndn`, or `/usr/local/etc/ndn`
+> (or any other `SYSCONFDIR/ndn` if you passed `--sysconfdir` to `./waf configure`),
+> Face-related test cases may fail.
diff --git a/README.md b/README.md
index e01e4b3..84e55bb 100644
--- a/README.md
+++ b/README.md
@@ -48,4 +48,12 @@
## License
ndn-cxx is free software distributed under the GNU Lesser General Public License version 3.
-See [`COPYING.md`](COPYING.md) for details.
+See [`COPYING.md`](COPYING.md) and [`COPYING.lesser`](COPYING.lesser) for details.
+
+ndn-cxx contains third-party software, licensed under the following licenses:
+
+* *scope-lite* by Martin Moene is licensed under the
+ [Boost Software License 1.0](https://github.com/martinmoene/scope-lite/blob/master/LICENSE.txt)
+* *span-lite* by Martin Moene is licensed under the
+ [Boost Software License 1.0](https://github.com/martinmoene/span-lite/blob/master/LICENSE.txt)
+* The *waf* build system is licensed under the [3-clause BSD license](waf)
diff --git a/docs/index.rst b/docs/index.rst
index 00943d5..bd0ba18 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -72,4 +72,5 @@
-------
ndn-cxx is an open source project licensed under the LGPL version 3. For more information about
-the license, refer to `COPYING.md <https://github.com/named-data/ndn-cxx/blob/master/COPYING.md>`__.
+the license, refer to `COPYING.md <https://github.com/named-data/ndn-cxx/blob/master/COPYING.md>`__
+and `COPYING.lesser <https://github.com/named-data/ndn-cxx/blob/master/COPYING.lesser>`__.