testing bitcoin nodes

testing bitcoin nodes
2019-08-21 12:35 ` Niels Thijssen
  2019-08-21 18:33 ` Pieter Wuille
  
From: Niels Thijssen @ 2019-08-06 10:36 UTC (permalink / raw)
  To: bitcoin-dev

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.


 permalink raw reply	[|nested]
2019-08-06 10:36 [bitcoin-dev] testing bitcoin nodes Niels Thijssen

  2019-08-21 17:33   ` Alexander Leishman
  2019-08-21 18:33 ` Pieter Wuille
  
From: Niels Thijssen @ 2019-08-21 12:35 UTC (permalink / raw)
  To: bitcoin-dev


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.


 permalink raw reply	[|nested]
2019-08-21 12:35 ` Niels Thijssen

  
From: Alexander Leishman @ 2019-08-21 17:33 UTC (permalink / raw)
  To: Niels Thijssen, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 3624 bytes --]

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@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@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

[-- Attachment #2: Type: text/html, Size: 8719 bytes --]

 permalink raw reply	[|nested]
2019-08-06 10:36 [bitcoin-dev] testing bitcoin nodes Niels Thijssen
  2019-08-21 12:35 ` Niels Thijssen

  
From: Pieter Wuille @ 2019-08-21 18:33 UTC ( / )
  To: Niels Thijssen, Bitcoin Protocol Discussion

On Tue, 6 Aug 2019 at 09:57, Niels Thijssen via bitcoin-dev
<bitcoin-dev@lists•linuxfoundation.org> wrote:
>
> 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.

Hi Niels,

You're probably not getting many answers because this isn't the right
place to ask. The mailinglist is about development of the Bitcoin
protocol and conventions about its usage across multiple applications.
If you want to learn about the Bitcoin Core software and its testing
infrastructure, see https://bitcoincore.org/en/contribute/

Cheers,

-- 
Pieter