Cahier des tests Duniter-ts 1.6.18

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
1 Like

Pour ceux qui sont admins/modos vous pouvez éditer directement mon post pour cocher une case.
Pour les autres vous pouvez indiquer en commentaire les tests que vous avez réaliser, merci :slight_smile:

La version affiche 1.6.17, pourquoi le revert de la version 1.6.18 ?

Je ne comprend pas de quoi parle tu ? Chez moi c’est bien 1.6.18 qui s’affiche :

Bon ça devait être un problème sur mon système, j’ai la bonne version cette fois :+1:

1 Like

BTW : merci @sveyret pour la nouvelle présentation :slight_smile:

2 Likes

@elois, @Inso, @vit ou @jytou : pourriez-vous redémarrer votre nœud g1-test ? J’ai identifié une “bugeature” que j’aimerais bien confirmer … et votre redémarrage permettrait de le faire :slight_smile:

done !

1 Like

Quand j’essaie d’ouvrir duniter-desktop-v1.6.18-linux-x64.deb avec gdebi, celui refuse et affiche :

Ce qui est déjà installée, c’est la desktop-v1.6.17, qui, d’ailleurs, refuse de s’arrêter après sa fermeture :

@gerard94 oui c’est normal c’est parce que tu a installer une release de test et les tag de tests sont toujours considérés supérieurs, il faut juste que tu désinstalle le paquet duniter-desktop :wink:

OK, il va falloir que je m’en souvienne. Et les nw qui ne s’arrêtent pas (et que j’ai dû tuer) ?

done !

1 Like

Ce bug a été corrigé, c’est censé ne plus arriver.

J’ai produit des correctifs, il se peut qu’une chose m’ait échappé tout de même.

@gerard94, lances-tu Cesium Desktop sur cette machine ? Car j’ai aussi eu des process nw par ce biais qui ne voulaient pas se fermer.

Oui. Et j’ai quatre process nw qui refusent même d’être tués. Donc, si je comprends bien, les nw, ce sont des process javascript ? Ce n’est pas particulier à Duniter ?

Je ne sais pas si c’était dû aux process nw qui refusaient de mourir, mais impossible de démarrer la 1.618-desktop. Du coup, j’ai rebooté, et maintenant, ça marche et ça calcule.

1 Like

En version desktop, l’empreinte mémoire est de 298,1MB

Capture%20d'%C3%A9cran%20de%202018-02-06%2000-36-51
Capture%20d'%C3%A9cran%20de%202018-02-06%2000-37-23

Edit : pour un desktop < 350MB : OK.

OK, c’est bon.

1 Like

OK
Le reste n’a pas été testé.

J’avais pourtant écrit < 250Mo pour une version desktop quelque part. Mais bon j’avais mis cette valeur sans grande expérience.

Non en effet, Cesium utilise aussi cet enrobeur graphique “nw” pour servir une application web en application de bureau.