Cahier des test Duniter-ts 1.6.18
la release 1.6.18 est disponible au téléchargement sur le gitlab : v1.6.18 · Tags · nodes / typescript / duniter · GitLab
Ce document énumère les points qui doivent être testés manuellement avant de marquer une version 1.6.18 comme “stable”.
Installation
Taille du fichier
- La taille du fichier duniter-server .deb x64 ne doit pas dépasser 50 Mo
- La taille du fichier duniter-server .deb ARM ne doit pas dépasser 70 Mo
- La taille du fichier duniter-desktop .deb x64 ne doit pas dépasser 130 Mo
- La taille du fichier duniter-desktop .tar.gz x64 ne doit pas dépasser 130 Mo
- La taille du fichier duniter-desktop .exe x64 ne doit pas dépasser 100 Mo
Utilisabilité
- Le programme duniter-server est utilisable sur Debian avec le paquet .deb x64
- Le programme duniter-desktop est utilisable sur Debian avec le paquet .deb x64
- Le programme duniter-server est utilisable sur sur ARM avec le paquet .deb ARM
- Le programme duniter-desktop est utilisable sur GNU/Linux avec le paquet .tar.gz x64
- Le programme duniter-server est utilisable sur GNU/Linux par compilation manuelle
- Le programme duniter-desktop est utilisable sur Window avec le paquet .exe
Dossiers d'installation
- L'installation de Duniter ne crée pas de dossier
$HOME/.config/duniter
- Le paquet Debian remplace tout le contenu du dossier
/opt/duniter
Commands
duniter reset data
- Duniter should be able to reset its data.
duniter sync g1.duniter.org 443
- Duniter should be able to synchronize on this mirror peer.
duniter direct_start
- Duniter should be able to start with interactive execution. Should be stoppable with Ctrl+C.
duniter start
- Duniter should be able to start in daemonized way.
duniter status
- Duniter should be UP and running after
duniter start
.
duniter stop
- Duniter should be able stoppable after
duniter start
.
duniter webstart
- Duniter should be able to start in a daemonized way with its UI available at
http://localhost:9220
.
Behavior
Duniter must respect a set of behaviors once started.
Memory consumption
- Duniter must have a footprint of ~200MB in memory. If this amount grows, there is a memory leak.
- Duniter Desktop must have a footprint of ~350MB in memory. If this amount grows, there is a memory leak.
New blocks detection
- Duniter should detect eventual new blocks available on the network on its startup, pull and add them to its HEAD branch.
Main blocks
- Duniter should be able to receive and add new valid blocks for the HEAD of its blockchain.
Fork blocks
- Duniter should be able to receive fork blocks, i.e. blocks that does not push on the top of its blockchain and whose number is < HEAD.number - forkWindowSize.
forkWindowSize
is the value given at URL/
of each node, for example https://g1.duniter.org/
Network detection
- Duniter should be detected by the existing network. As soon as the node is UP, it should be known and UP by the node it was synced with (in the tests, g1.duniter.org:443).
Fork resolution
-
Duniter should be able to resolve forks, i.e. switch on a branch that does not contain HEAD but which is taller than HEAD branch by at least:
-
6 blocks
-
30 minutes of
medianTime
field
A technique to test this:
duniter reset data duniter sync g1.duniter.org 443 duniter gen-next --submit-local
Then wait for the local block to be computed, as well as the network block. This way, the local node should have a different HEAD than the network. Starting the node shoul show a fork on the network with only our node.
After ~30 minutes, the fork should be resolved.
Bloc computation
- The node should sucessfully compute one block.
Interface graphique
- La nouvelle version s'affiche bien dans la barre de titre
- Lorsque la fenêtre (duniter-desktop exclusivement) est redimensionnée, l'application conserve ces dimensions même après un redémarrage du logiciel.
- [Home] Changer pour une version plus récente conserve les données (nom de monnaie, current block, …)
- [Home] La tuile [Connected peers] s'incrémente rapidement à une valeur positive après le démarrage
- [Home > Network > WS2P Connections] Le nœud se connecte bien au réseau, avec des connexions entrantes (INCOMING) et/ou sortantes (OUTCOMING) selon la configuration réseau demandée.
- [Home > Network > WS2P Connections] Le nœud liste les nœuds privilégiés sur fond violet
- [Home > Network > WS2P Connections] Le nœud liste les nœuds préférés sur fond vert
- [Home > Network > Network view] En version >= 1.6, le nœud est visible dans la liste.
- [Home > Network > Network view] En version >= 1.6.15, le nœud affiche une valeur pour la colonne [Step]*
- [Home > Network > Network view] En version >= 1.6.15, le nœud affiche une valeur “WS2P[O…][I…]” pour la colonne [API]*
- [Home > Network > Network view] En version >= 1.6.15, le nœud affiche une valeur pour la colonne [Free Rooms]*
- [Home > Network > Network view] En version >= 1.6.16, le nœud modifie la valeur de la colonne [Free Rooms] à mesure que des connexions entrantes (INCOMING) s'ajoutent à la liste [WS2P Connections] et à l'occasion d'un changement de valeur du champ [HEAD] (se produit lorsqu'un nouveau bloc arrive).*
* Alors attention : si le HEAD transite par ne serait-ce qu'un seul noeud de version <= 1.6.14 avant d'arriver jusqu'a votre noeud vous verrez le HEAD dégradé au format v1 quelque soit la version du noeud émetteur, cela est parfaitement normal.
Transverse
- Le nœud reste synchronisé avec le réseau, et reçoit en quasi temps-réel les nouveaux blocs.
- Le nœud reçoit correctement les transactions, et tente de les inclure dans un bloc.
- Le nœud ne dépasse pas, pendant toute son utilisation, les seuils de mémoire suivants :
- 250 Mo d’utilisation pour duniter-server
- 350 Mo d’utilisation pour duniter-desktop