Tests del ModuloTre

Ho cominciato a svolgere i primi test sui vostri programmi. Eccoli.

  • Alcuni vostri test sul mio codice non passano perchè vogliono il vostro dizionario.h invece del mio
    • I test non dovevano usare nessuna caratteristica della vostra struttura dati, dato che dovevano essere usati sul codice mio o di altri

-- AndreaSterbini - 30 May 2005

Commenti

Aggiungete qua sotto commenti e domande:


Alcune considerazioni sui risultati

Nei test le mie funzioni tornano NOT_IMPLEMENTED ma io penso di aver penso di aver implementato quei codici di ritorno. Inoltre la combinazione miei.test / suoi.test non compila in quanto io faccio uso di una costante simbolica (MAX_BUFFER) definita nel mio dizionario.h

-- Comment added by MassimilianoNatale on 31 May 2005


Alcune considerazioni sui risultati

Guarda che si tratta dei MIEI test sulle TUE funzioni. Sono io che non ho ancora implementato quei test. Passa alla colonna successiva.

Per i tuoi tests sul mio codice vedi il commento all'inizio della pagina.

-- Comment added by AndreaSterbini on 31 May 2005


INVALID_PARAMETER

ma il peso doveva essere compreso o compreso strettamente tra 0 e 1?

ps evviva scordarsi le typedef! pps evviva scordarsi di risettare una define dopo il debug!

-- Comment added by MarcelloLagana on 31 May 2005


DOUBLE_KEY_FOUND

Ho notato una cosa che mi ha lasciato un po' perplesso. Quando si fa il test dell'errore sopracitato su inserisciValore e leggiToken i suoi tests mi dicono che il test è fallito (in entrambi i casi) poiché le mie funzioni tornano TABLE_FULL invece di DOUBLE_KEY_FOUND. Sono andato a controllare e l'unico modo in cui il mio programma da come errore TABLE_FULL è quando il numero di oggetti inseriti è superiore a quello di "dimensioni", ossia quando "dimensioni == 0". Dato che i vostri tests non sono visionabili (oppure oggi il sito sta facendo il timido) volevo chiederle se è sicuro di settare un valore delle dimensioni maggiore di 0 quando crea il dizionario nei due casi menzionati.

-- Comment added by EnricoMontesi on 31 May 2005


tests studenti fatti su programma professore

Volevo chiedere due cose. Innanzitutto quando provo a scaricare i file del codice dei progetti del professore (ossia modulo1.c e modulo2.c) il link mi dice che scarico invece testModulo1.c e testModulo2.c ...c'è qualcosa che non quadra? A parte questo ho dato un'occhiata alle varie risposte che i programmi del professore hanno dato ai miei tests...tre fallimenti su 4 non mi convincono molto: 1) INVALID_PARAMETER sulla funzione "inserisciValore(porta, -1, diz)". E' palese che passando "-1" come valore dovrebbe dare l'errore sopra menzionato, eppure non lo fa e torna 0...professore, lei è sicuro che questo fallimento sia da attribuire ai miei tests?

2) FILE_EMPTY su leggiTokens('filevuoto', diz), in questo caso la sua funzione mi torna EMPTY_STRING. Io passo però un file vuoto, che è diverso dal passare una stringa vuota. Dato che "leggiTokens" prima legge il file e poi analizza la stringa non dovrebbe dare come errore FILE_EMPTY prima di EMPTY_STRING?

3) EMPTY_STRING su calcolaPeso(tokens[0].contesto[0] = '\0', 5, diz, double *). E' chiaro che questo mio test cerca un errore in maniera parecchio sporca...però in teoria come test è valido, non trova? Controllo se vengono fatti dei controlli sul contenuto dei tokens. Il fatto che il suo programma non superi il test implica un errore da parte mia o un punto in più, poiché il mio programma supera il test ed il suo no?

-- Comment added by EnricoMontesi on 31 May 2005


Re: peso tra 0 e 1

Effettivamente avete ragione, i pesi debbono essere TRA 0.0 ed 1.0, rifaccio i test

-- Comment added by AndreaSterbini on 01 Jun 2005


Codice del prof

  • Hai ragione, devo aggiustare il link.
  • FILE_EMPTY: controllo e rifaccio i test se necessario
  • EMPTY_STRING tra i tokens ... ci penso smile

-- Comment added by AndreaSterbini on 01 Jun 2005


Codice del prof

Comunque il codice c'è ... basta editare l'URL e cambiare testModuloN.c in moduloN.c

-- Comment added by AndreaSterbini on 01 Jun 2005


Ho rifatto i test

Vedete se vi piacciono smile

-- Comment added by AndreaSterbini on 03 Jun 2005


Senza titolo?

quindi questi sono i risultati finali?? oppure deve fare ancora altri test? p.s. forse nn ho seguito molto ma cosa significa diff fra parentesi??

-- Comment added by AntonioFelitti on 04 Jun 2005


incertezza in leggiTokens

Ho un dubbio su una cosa. In leggiTokens i miei test passano un file vuoto per testare "FILE_EMPTY", però il suo programma come risposta da "EMPTY_STRING". Potrebbe controllare se l'errore è nei miei tests o nel suo programma?

X Antonio: diff visualizza le correzioni che il professore ha dovuto fare per riuscire a far compilare i tuoi programmi.

-- Comment added by EnricoMontesi on 04 Jun 2005


diff..

e anche sono state fatte correzioni il programma è comunque valido a tutti gli effetti? tnx..

-- Comment added by AntonioFelitti on 05 Jun 2005


X Antonio

Si è valido, ma il fatto che siano state apportate correzioni fa scendere un po' il punteggio. Per il resto il numero di punti fatti lo vedi comunque

-- Comment added by EnricoMontesi on 05 Jun 2005


RE: memory leaks

... hmmmm .. l'analisi delle disallocazioni è vuota .... appena scopro perchè la rimetto online.

-- Comment added by AndreaSterbini on 05 Jun 2005


... Memory leaks a posto

Ho rimesso a posto i memory leaks ...

-- Comment added by AndreaSterbini on 05 Jun 2005


numero di test diverso?

professore, ma non capisco come mai ad alcuni studenti ha fatto un certo numero di tests mentre ad altri ne ha fatti di meno; come mai e in quali casi il numero di test varia da uno studente all'altro?

-- Comment added by AlbertoLaRocca on 06 Jun 2005


RE: numero di tests diverso

Alcuni test falliscono per un errore legato alla deallocazione (doppio free o free di un puntatore non allocato). In questi casi (non sono ancora riuscito a catturare l'errore) il test fallisce silenziosamente e non viene contato.

-- Comment added by AndreaSterbini on 07 Jun 2005


Problemi di comprensione

A parte i problemi di comprensione che ho nei confronti del codice del professore (per quanto riguarda i tests, il codice di modulo3.c è facilmente comprensibile), non riesco a capire due errori che risultano nei confronti della mia funzione cercaValore. Non c'è la possibilità che ci siano errori di precisione, del tipo che mentre il programma del professore cerca il valore "0.1" associato a "from:*andrea" il valore che trova la funzione cercaValore sia il suo arrotondamento binario (ossia 0.10000001, per esempio...in pratica un numero leggermente superiore per colpa degli arrotondamenti che fa il calcolatore quando trasporta da binario a decimale)? Perché altrimenti non trovo proprio nessun motivo per cui mi dia errore.

-- Comment added by EnricoMontesi on 07 Jun 2005


RE: numero di tests diverso

Ho disattivato alcuni check sulla memoria allocata ed ora il numero di tests è lo stesso.

-- Comment added by AndreaSterbini on 07 Jun 2005


leaks

prof., sempre nei test, per alcuni memory leaks viene indicato il file che ha chiamato la malloc/realloc in questione (e che non ha chiamato free), per altri invece vedo solo un indirizzo esadecimale; suppongo che dove c'è l'indirizzo esadecimale a provocare il leak sia stata una libreria e non il nostro codice; ho intuito bene? se si allora quei leak non è detto che siano colpa nostra, giusto?

-- Comment added by AlbertoLaRocca on 07 Jun 2005


x Enrico, problemi di comprensione

si Enrico, il motivo è quello: un numero che in base 10 rappresenti con un certo numero di cifre dopo la virgola, in binario si potrebbe dover rappresentare con un numero diverso (forse infinito) di cifre, quindi è impossibile rappresentarlo con precisione (mi pare di ricordare che un computer non è neanche in grado di memorizzare con esattezza un valore tipo 3.0 o 2.5, non ricordo bene).
questa cosa l'ho anche fatta presente nel forum delle domande del modulo3, (l'ultimo mio post mi sembra), quindi non penso che influisca sul punteggio.
inoltre considera anche un'altra cosa: sempre a cusa dell'imprecisione di calcolo, noi calcolando il peso di una email a mano o con la calcolatrice potremmo ottenere un certo valore (ad es. 0.5), ma in molti casi la calcolaPeso otterrà un valore che differisce magari di un solo bit, e quindi risulta essere qualcosa del tipo 0.4999...

-- Comment added by AlbertoLaRocca on 07 Jun 2005


x Enrico, problemi di comprensione

Ed infatti nei miei tests faccio i confronti con un piccolo margine di errore, in modo che gli eventuali arrotondamenti rientrino comunque nella categoria dei TEST_PASSED. Volevo sapere se per caso il professore si fosse dimenticato di prendere in considerazione questi arrotondamenti (sai...mi hanno fatto perdere due punti sul totale...pesano un po' ^^)

-- Comment added by EnricoMontesi on 07 Jun 2005


RE: leaks

Tranquilli, l'analisi dei leaks l'ho messa per darvi maggior diagnostica e non per penalizzarvi.

-- Comment added by AndreaSterbini on 07 Jun 2005


RE: due punti sul totale ....

... come a dire la differenza tra 30 e 29.99999999999999 wink

-- Comment added by AndreaSterbini on 07 Jun 2005


test fallito su calcolaPeso (RESULT_OK)

professore, ho visto che il test su RESULT_OK sulla mia calcolaPeso del Modulo3 è fallito poiché a quanto pare ho resituito 0.7000... anziché 0.99qualcosa come ci si aspettava; eppure io facendo il debug a casa ho visto che con quei valori non viene assolutamente restituito 0.7, mi viene 0.99qualcosa! qualcosa non torna... anzi non torna nemmeno lo 0.99 prima del "qualcosa" big grin (vabbè, battutaccia da omicidio... :D)

-- Comment added by AlbertoLaRocca on 08 Jun 2005


No such template def TMPL:DEF{PROMPT:thread}
Topic attachments
ISorted ascending Attachment History Action Size Date Who Comment
Unknown file formatbz2 modulo3.tar.bz2 r5 r4 r3 r2 r1 manage 174.0 K 2005-06-07 - 15:19 AndreaSterbini  
Edit | Attach | Watch | Print version | History: r25 < r24 < r23 < r22 < r21 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r25 - 2005-08-21 - AndreaSterbini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback