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 tool is invoked which creates the configure script that gets run next. The configure script is generated based on the 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


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