[bitcoin-dev] testing bitcoin nodes

Alexander Leishman leishman3 at gmail.com
Wed Aug 21 17:33:28 UTC 2019


Hey Niels,


I'm no expert on bitcoind tests, but maybe these bits of information can
help you get started:


The steps to build bitcoind typically involve running:


./autogen.sh

./configure

make

make install


When you run autogen, the autoreconf
<https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/autoreconf-Invocation.html>
tool
is invoked which creates the configure script that gets run next. The
configure script is generated based on the configure.ac
<https://github.com/bitcoin/bitcoin/blob/master/configure.ac> file, which
performs a number of compatibility checks for the compiler and other
tooling. You can see these checks being performed with
the AX_CHECK_COMPILE_FLAG calls.


My understanding is that running configure does a lot of system
compatibility checks. When you run "make", I do not think any tests get run
by default, but I could be wrong about this. If you want to run unit tests
you need to run "make check". You can read more about this here
<https://github.com/bitcoin/bitcoin/blob/master/src/test/README.md>


There are unit tests for bitcoind written in C++ and a lot of integration
and higher level tests written in python.


Hopefully this information was useful and accurate. Again, I could be wrong
about exactly how the build process works as it's not super obvious.
Hopefully someone else more knowledgeable than me can chime in here if I
got anything wrong.


Best,

Alex



On Wed, Aug 21, 2019 at 10:06 AM Niels Thijssen via bitcoin-dev <
bitcoin-dev at lists.linuxfoundation.org> wrote:

>
> As no one was able to respond, a gentle reminder : 😊
>
> Hi,
>
> I'm working as (software) test specialist and run private a full bitcoin
> node (based upon Raspberry Pi 4).
> I've been trying to figure out the tests performed during
> installation/upgrade/compilation of the software for the node.
> Is there any overview on what's the (common) test approach, or other
> stuff. Because the tests on GitHub don't help me that much.
> I'd like to figure out what/how is tested, maybe refine test cases, and
> try some manual test also, as part of learning.
>
> Who would be able to join me or share information that guides me.
> Thanks in advance,
>
> Niels.
>
>
>
> -------- Disclaimer --------
> This email and any files transmitted may contain proprietary and
> confidential information of Improve Quality Services B.V. (‘Improve QS’)
> and is intended only for the (use of the) named recipient(s) above. If you
> have received this message in error or are not the intended or named
> recipient(s) of this message, please immediately notify the sender by
> return and delete this email message from your computer. Any views or
> opinions presented are solely those of its author and do not necessarily
> represent those of Improve QS. You are hereby notified that unauthorized
> disclosure, use, dissemination, forwarding, printing or copying of this
> e-mail and its attachments either whole or partial of its contents is
> strictly prohibited. Improve QS cannot guarantee that email communications
> are secured and error-free and does not accept any liability for damages
> resulting from the use of email. The general terms and conditions of
> purchase respectively sale and delivery of Improve QS are applicable to all
> transactions and undertakings resulting therefrom.
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190821/2d435f7f/attachment-0001.html>


More information about the bitcoin-dev mailing list