You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ProjectAnalysisReport.md
+74-10Lines changed: 74 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -191,14 +191,78 @@ Dakle, ima smisla udubiti se u kod i razmisljati na drugi nacin, odnosno ne samo
191
191
192
192
Kao sto smo vec spomenuli, mozemo se fokusirati na nekoliko funkcija za koje smo vec napisali testove. Za ovo cemo napraviti novi folder channel_sounding_behavior u koji cemo smestiti spomenuta prosirenja. Pogledajmo prvo `bt_le_cs_security_enable` funkciju i njeno ocekivano ponasanje. Funkcija pravi bafer HCI komande, popunjava ga sa pokazivacem na konekciju i salje komandu sinhrono. Vec smo pokrili tzv. happy path, odnosno slucaj u kome je sve kao sto ocekujemo. Uz to, testirali smo i slucaj u kome `bt_hci_cmd_create` funkcija vrati nepravilan bafer (NULL). Slucajevi koje bismo jos mogli pokriti jesu kada se kao pokazivac na konekciju prosledi NULL vrednost kao i slucaj kada `bt_hci_cmd_send_sync` funkcija pukne. Ova dva slucaja su pokrivena testovima `test_sec_enable_hci_cmd_fail_null_conn` i `test_sec_enable_cmd_send_fail`. Na slican nacun su dodati i sledeci testovi:
193
193
194
-
TODO(avra): pobrojati testove i dodati kratak opis (mozda tabela)
195
-
*`test_read_remote_supported_capabilities_complete_null_buf` - Provera ponasanja funkcije sa prosledjenim nevalidnim baferom (Ocekivano ponasanje - vraca gresku)
196
-
*`test_read_remote_supported_capabilities_complete_invalid_buf_len` - Provera ponasanja funkcije sa pogresnom velicinom ulaznog bafera (Ocekivano ponasanje - funkcija se zavrsava ranim izlaskom)
197
-
*`test_read_remote_supported_capabilities_complete_evt_status_fail` - Provera ponasanja funkcije kada `bt_conn_lookup_handle` vrati dogadjaj sa statusom greske (Ocekivano ponasanje - funkcija se zavrsava ranim izlaskom)
198
-
*`test_read_remote_supported_capabilities_complete_conn_lookup_handle_fail` - Provera ponasanja funkcije kada `bt_conn_lookup_handle` vrati NULL pokazivac (Ocekivano ponasanje - funkcija se zavrsava ranim izlaskom)
199
-
*`test_read_remote_fae_table_hci_cmd_fail` - Provera ponasanja funkcije kada
200
-
*`test_read_remote_fae_table_send_sync_failed` -
201
-
194
+
### Testovi za `bt_le_cs_security_enable`
195
+
196
+
1.**`test_sec_enable_hci_cmd_fail`**
197
+
* Provera ponašanja kada `bt_hci_cmd_create` ne uspe (vrati NULL)
198
+
* Očekivano: Vraća `-ENOBUFS`
199
+
* ✅ **NAPOMENA**: Test je prolazio i pre izmena
200
+
201
+
2.**`test_sec_enable_hci_cmd_fail_null_conn`**
202
+
* Provera ponašanja sa NULL parametrom za konekciju
203
+
* Očekivano: Vraća `-ENOBUFS`
204
+
* ✅ **NAPOMENA**: Test je prolazio i pre izmena
205
+
206
+
3.**`test_sec_enable_cmd_send_fail`**
207
+
* Provera ponašanja kada `bt_hci_cmd_send_sync` ne uspe
208
+
* Očekivano: Vraća grešku sa sinhronizacije
209
+
* ✅ **NAPOMENA**: Test je prolazio i pre izmena
210
+
211
+
### Testovi za `bt_hci_le_cs_read_remote_supported_capabilities_complete`
* Provera ponašanja kada pretraga konekcije ne uspe
264
+
* Očekivano: Prekid izvršavanja
265
+
*:warning:**NAPOMENA**: Test nije prolazio pre izmena (nedostajala provera za NULL)
202
266
203
267
_Napomena_: kod funkcija koje se zavrsavaju ranije ocekujemo da neke podfunkcije nikada nece biti pozvane. Ovaj uslov eksplicitno ukljucujemo u ocekivanja testa pomocu `zasser_` funkcija.
204
268
@@ -326,9 +390,9 @@ PROJECT EXECUTION FAILED
326
390
327
391
Ovog puta nismo dobili veliki broj palih testova, ali dobijamo indikaciju da mozda treba obratiti paznju na baratanje neispravnim ulaznim vrednostima u funkcije.
328
392
329
-
Vidimo da nije svuda rigorozno proveravano da li se prosledjuju ispravne vrednosti, tako da cemo tu proveru dodati u izvorni kod i ponovo pokrenuti testove. Izmene koje su dodate ticu se uglavnom provere ulaznih argumenata funkcija (TODO dodati ako je jos nesto nadjeno) i mogu se pogledati u <patch_name.patch>. Nakon primene izmena, ponovo je pokrenuta skripta i vidimo da sada svi testovi prolaze. Mozemo nastaviti sa generisanjem izvestaja pokrivenosti za ispravljene testove. Krajnji rezultati su prikazani na slici ispod:
393
+
Vidimo da nije svuda rigorozno proveravano da li se prosledjuju ispravne vrednosti, tako da cemo tu proveru dodati u izvorni kod i ponovo pokrenuti testove. Izmene koje su dodate ticu se uglavnom provere ulaznih argumenata funkcija i mogu se pogledati u `cs_error_handling.patch`. Nakon primene izmena, ponovo je pokrenuta skripta i vidimo da sada svi testovi prolaze. Mozemo nastaviti sa generisanjem izvestaja pokrivenosti za ispravljene testove. Krajnji rezultati pokrivenosti su prikazani na slici ispod:
330
394
331
-
TODO: slika
395
+

0 commit comments