జామి యొక్క నాణ్యతను మెరుగుపరచడం

యూనిట్ పరీక్షలు

  • జామి ప్రాజెక్టుపై యూనిట్ పరీక్షలు చేయడం చాలా కష్టంగా ఉంది. ఎందుకంటే బహుళ స్థాయిల ఆధారపడటంపై రేసు పరిస్థితులు ఉన్నాయి.

  • We use lcov for the coverage, you can find the lcov’s configuration in the daemon’s Makefile.am. Also, the coverage can be found at https://docs.jami.net/coverage/ and https://dl.jami.net/docs/dhtnet/coverage

  • కొత్త కోడ్ కోసం యూనిట్ పరీక్షను నిర్వహించడానికి జట్టును ఒప్పించడానికి ఒక వ్యవస్థను అమలు చేయాలి

  • మీరు వాటిని ప్రారంభించవచ్చు మేక్ చెక్ డీమోన్ ఫోల్డర్లో లేదా విడిగా gdb తో యూనిట్-టెస్ట్ ఫోల్డర్లో చేయండిః gdb ut_media_encoder

  • /configure ఆదేశం సమయంలో --disable-shared తో పర్యావరణం సెట్ చేయాలి

  • Clients also have tests (cf jami-client-qt/tests for Desktop, jami-client-android/jami-android/app/src/androidTest for Android)

సమగ్రత పరీక్షలు

  • ప్రతి కమిట్ నిర్మాణ యంత్రాల న డాకర్స్ లో ఇంటిగ్రేషన్ పరీక్షలు ద్వారా వెళుతుంది మీరు వివరాలు పొందవచ్చుః jenkins.jami.net

  • కోడ్ సమీక్షను సహ డెవలపర్ చేత చేస్తారు, కొన్నిసార్లు కోడ్ను అదే డెవలపర్ సమీక్షిస్తాడు, ఇది లినస్ చట్టాన్ని నొక్కి చెప్పడానికి నివారించాలి. జెంకిన్స్ ధృవీకరించిన లేబుల్ కొన్నిసార్లు విస్మరించబడుతుంది మరియు డెవలపర్ నుండి +1 తో భర్తీ చేయబడుతుంది, ఇది కూడా నివారించాలి.

  • సోనార్క్వేబ్ జెంకిన్స్ను జమిని నిర్మించడానికి మరియు లింట్ను ధృవీకరించడానికి అనుమతిస్తుంది. మీరు ఫిల్టర్లు మరియు ఫలితాలను చూడవచ్చుః సోనార్-జామి.సౌవర్ఫేరిలిన్క్స్. నెట్ సోనార్ ప్రీప్రొసెసర్ లింట్ కంపైలర్గా క్లాంగ్-టైడీని ఉపయోగిస్తుంది, మీరు డీమోన్ ఫోల్డర్లో.క్లాంగ్-టైడీ ఫైల్లో క్లాంగ్స్ ఫిల్టర్లను కనుగొనవచ్చు.

  • On SFLVault sonarqube can be found at service m#2637 and admin logins at service s#7169

డాక్ మరియు అభిప్రాయంః

  • మీరు డాక్యుమెంటేషన్ అంతా docs.jami.net లో చూడవచ్చు

  • git.jami.net లోని డెవలపర్లు లేదా వినియోగదారులు సమస్యలను ఎదుర్కొంటారు

ఏజెంట్

Every night, hundred of calls are tested via 2 Agents and a message is posted every morning in the chat with the result (if all call succeeded or not)

ధూమపానం పరీక్షలు

ప్రతి విడుదల ముందు ప్రతి క్లయింట్ ఒక జాబితా సందర్భాలు దాటి ఉండాలి.

ఇక్కడ దృశ్యాలు వివరించబడ్డాయిః [జామి ధూమపానం పరీక్షలు]

అవసరమైతే డెవలపర్లకు పంపే ముందు వాటిని QA dpt సమీక్షిస్తుంది.

ఒక విడుదలలో విలీనం చేయబడిన నెట్వర్క్ కామిట్ ఉంటే, QA డిపార్ట్మెంట్ వివిధ కనెక్టివిటీ పరీక్షలను ఆటోమేట్ చేయగలదు (క్రింద పేర్కొన్న విధంగా కాల్స్ ఆకృతీకరణలలో)

ఆకృతీకరణలు కాల్స్.

పరీక్షించాల్సిన నెట్వర్క్ కాన్ఫిగరేషన్ల జాబితా ఇదిః

(IPv4 IPv6) + (TURN !TURN) + (STUN !STUN) + (UPnP ! UPnP) రెండు వైపులా.

రెండు వైపులా మాత్రమే IPv4 ఉంటే, TURN/STUN/UPnP లేకుండా, కాల్ స్థానిక మాత్రమే ఉండాలి.

ఏమి చేయాలి

  • యూనిట్ పరీక్షల నిర్వహణ మరియు సృష్టిని నిర్ధారించడానికి బృందంలో ఒక వ్యవస్థను ఏర్పాటు చేయండి.

  • Each major functionality should be tested as whole by adding a test (i.e. making sure a message was received, the call was ended well on both side, etc...)

  • ప్రతి కొత్త కార్యాచరణను ప్రతి ప్లాట్ఫామ్లో రిగ్రెషన్ను తగ్గించడానికి విలీనం చేయడానికి ముందు పరీక్షించాలి

  • ప్రతి క్లయింట్ లో సోనార్క్వే ఇంటిగ్రేట్

  • నెట్వర్క్ అనుకూలతపై జమి యొక్క ప్రవర్తన పరీక్షను ఆటోమేట్ చేయండి