Fil dédié à la campagne de test de Duniter 1.8 : Duniter 1.8.0-beta5 released
Ça implique quoi d’être bêta-testeur ?
- Connaître les fonctionnalités de Duniter dans les grandes lignes, savoir à peu près comment un nœud est censé se comporter (donc être déjà utilisateur de Duniter depuis au moins quelques mois).
- Aider à compléter le cahier des tests de la version.
- Surveillez régulièrement son nœud durant la campagne de test afin de détecter toute anomalie (et donc être capable de créer un ticket avec un rapport de bug le cas échéant).
- Être réactif en cas de correctif publié sur ce forum : donc faire l’effort de consulter quotidiennement ce fil pendant la campagne de test (ce qui prend 30 secondes par jour, il s’agit juste de “vérifier” sur ce fil si un correctif a été publié).
Cahier des tests
Ce post est en mode wiki, modifiez le pour indiquer les lignes du cahier que vous avez testés.
Lorsque vous avez testé une ligne du cahier, ajoutez une croix entre les crochets :
Point non testé : [ ] description
→ description
Point partiellement testé : [\*] description
→ [*] description
Point testé : [x] description
→ description
Installation
Taille du fichier
- La taille du fichier duniter-server .deb x64 ne doit pas dépasser 55 Mo
- La taille du fichier duniter-server .deb ARM ne doit pas dépasser 55 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
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
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 ~700MB in memory. If this amount grows, there is a memory leak.
- Duniter Desktop must have a footprint of ~850MB 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 :
- 700 Mo d’utilisation pour duniter-server
- 850 Mo d’utilisation pour duniter-desktop