Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Smoke testing core features

Ouverte
#660 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
go
Domaine
testing

Piste de recherche

Commencez par l’interface d’aide client existante, y compris client.CreateRoom, ainsi que les tests Complement qui l’utilisent. Comparez les interfaces proposées pour l’utilisateur connecté/le token, les mises à jour en direct et les salles avec les scénarios de matrix-authentication-service, sliding-sync et MSC4014 ; le travail est considéré comme terminé lorsqu’une approche définie de smoke testing, avec ses modes d’échec et son périmètre convenus, est établie.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

Matrix has many moving parts. Tests typically only care about one single moving part at a time e.g send a message, create a room, upload OTKs. The setup code that happens to get to the point where we can test that moving part is for the most part, boilerplate. Complement has to date provided helper functions in client to do this sort of thing, failing the test if the boilerplate fails e.g client.CreateRoom. However, this then fixes the test into a certain way to setup the test. This is "okay" in that it is clear what is happening, but it limits the ability to do smoke tests:

smoke testing is preliminary testing or sanity testing to reveal simple failures severe enough to, for example, reject a prospective software release. Smoke tests are a subset of test cases that cover the most important functionality of a component or system, used to aid assessment of whether main functions of the software appear to work correctly.

There are several projects which would benefit from smoke testing:

  • matrix-authentication-service - all tests could start by logging into MAS and getting MAS tokens before checking basic functionality (the tests) work.
  • sliding-sync - all tests could use sliding sync APIs to consume live data rather than mandating sync v2.
  • MSC4014 pseudo IDs - all tests could be made as pseudo ID rooms which would otherwise then function the same as a normal room.

These could "reasonably" be split into 3 interfaces:

  • give me a logged in user and access token.
  • give me live updates.
  • give me a room.

There may be more. Smoke testing in this way is error-prone. Some tests will fail due to this setup in flakey ways, e.g:

  • The MAS token expires.
  • The sliding sync proxy didn't get the event, or the API doesn't expose the data you want to see in the test.
  • The room version behaves in a subtley different way.

However, there is real value in being able to run a sanity check like this, even if it isn't fully reliable (read: likely not in CI).

Langage dominant
Go
Étoiles
99
Forks
72
Merge moyen
3 j 5 h
PR mergées (30 j)
9

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de matrix-org/complement

Toutes les issues de matrix-org/complement

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.