Réunion du 31-10-2023

De OSWiki
Aller à la navigation Aller à la recherche

Changements du code de la semaine

  • Aucun changement dans le code cette semaine.
  • Le master va bientôt être mis à jour vers dotnet6.

Noyau

Base de données

Modules

Bugs

Non prise en compte des modifications des primitives

  • Problème de sérialisation .
  • Il serait utile d'avoir des tests pour vérifier que la suppression d'une prim d'une scène soit effective et ne laisse pas un fantôme de la prim.
  • Mise en évidence :
    • Si vous déconnectez, reliez et supprimez rapidement certains éléments de la base de données, même si la région semble vide, redémarrez-la et les prims réapparaissent.
    • Prendre un objet lié, éditer les parties liées, délier une partie, dupliquer cette partie par shift drag, puis tout lier à nouveau et la charger dans l'inventaire. Au prochain redémarrage, la partie non liée est de nouveau sur le sol. Si on fait ça, on peut voir dans la base de données l'objet lié puis la prim non liée est ajoutée, ensuite le nouvel objet lié, l'objet lié d'origine qui est supprimé et ensuite quand on fait l'inventaire le nouvel objet lié est supprimé, la prim non liée reste par contre.
  • Explication possible: la façon asynchrone dont ces tâches sont planifiées pour ne pas retarder les choses et c'est si rapide que le résultat est perdu.
  • Solution : les mises à jour de la DB DOIVENT être retardées.

Tests

Tests unitaires

  • Quelqu'un qui voudrait aider à écrire des tests est le ou la bienvenu.e.
  • Nunit et Xunit semblent être les deux solutions les plus utilisées actuellement. Xunit est recommandé pour l'utilisation de dotnet, Nunit étant le deuxième de la liste.
  • La configuration pour faire fonctionner Xunit a réussi donc maintenant, il existe une écriture pour utiliser Xunit. Des test de Xunit sont en cours en cours et un travail de préparation de la base de données a été réalisé.
  • Voir la réunion du 17-10-2023
  • Certains anciens tests ne sont plus utiles mais d'autres ont signalé des bogues dans le passé, donc ils ne sont pas tous inutiles. Certains changements sur dotnet6 peuvent altérer les tests, car ce que les tests attendaient a changé.
  • Le but n'est pas de les réécrire un par un les test, juste d'avoir des idées sur les parties à tester et peut-être sur les outils qui existent comme le moteur de script fictif, les aides de scène et autres.
  • Le plan est de documenter les tests qui existaient, de définir les tests les plus importants et de comprendre comment ils fonctionnaient. Cela pourrait donner une idée de ce qu'il faut encore tester comme :
    • 🔹 les connexions,
    • 🔹 l'inventaire,
    • 🔹 la sérialisation de la base de données,
    • 🔹 les téléports et
    • 🔹 les franchissements de régions.
    • 🔹 Les tests sur les permissions sont les plus récents, les règles de permissions de SL sont déroutantes. Le code de permission, l'accès aux parcelles et aux domaines sont un sac d'embouilles pour le moment, écrire des tests pour cela sera amusant.
    • 🔹 Idéalement il faudrait tester chaque module en lui envoyant des données et en vérifiant si le test réussit comme prévu ou échoue.
    • 🔹 Le problème des sensor est un peu plus difficile à tester. Un sensor qui ne fonctionne pas est ennuyeux, mais pas immédiatement dangereux. L'inventaire se corrompt à cause d'une mauvaise sérialisation, c'est un peu plus grave.
  • La prochaine chose à faire est de trouver comment enregistrer les résultats des tests et les intégrer à jenkins.
  • Jenkins peut tout à fait faire du dotnet, il suffit de changer quelques commandes, le reste est identique.
  • Priorité : passer en revue les changements de dotnet à partir de master et écrire des tests pour ces changements.

viewer

  • Cool Vl viewer supporte AIS.

Projets en cours / Infos

Source