Ho quasi completato i test del vostro codice (e del mio).
I
risultati sono on-line (anche in versione
zippata).
- Ho sistemato quelli che non compilavano (potete vedere la differenza tra la versione originale e quella che compila)
- nei test multipli (RESULT_OK) ho contato i sub-test passati
- ho analizzato se avete disallocato accuratamente le strutture allocate
- alcuni test falliscono per problemi relativi alla disallocazione, per questo il numero di test totali non è sempre lo stesso.
Commenti
Aggiungete
qua sotto commenti e domande:
-- Comment added by
AlbertoLaRocca on 06 May 2005
Diamine ma che è???
Ma che è sto macello??? 5 mila righe di codice per poi vedere 1 su 7??? Comunque guardando i test del prof. ci stanno test non superati anche quando l'output è perfetto. Anche i codici ti ritorno poi sono assurdi...
-- Comment added by
MassimilianoNatale on 06 May 2005
Test di ritorno su RESULT_OK
"la Vecchia con la b0bah/>rsa Salta il fosso senzA rincorsa"...questo è quello ke ritornano le mie funzioni professore, ma lei segnala test failed poiké in teoria sarebbe dovuto ritornare "la Vecchia con la b0rsa Salta il fosso senzA rincorsa"...ma non è ke si è dimenticato per caso una parentesi angolare aperta???? Del tipo "...Vecchia con la b0
rsa salta il fosso..."
PS = Altrimenti mi sembra anke normale ke la mia funzione ritorni quel buffer, poiké non trova alcun tag da eliminare...
-- Comment added by
DavidBenedetti on 06 May 2005
dimensione errata
Ma anche nella funzione rimpiazzaLettere() viene fatto il controllo sulla dimensione? Che io ricordi nelle specifiche la dimensione andava modificata solo per le funzioni che andavano dalla eliminaTagsInvisibili() in poi. E rileggendo il progetto mi sembra che sia proprio così
-- Comment added by
MassimilianoNatale on 07 May 2005
ma l'ho scritto io quel codice???
Scusate se intaso il forum ma gli errori che leggo mi fanno rabbrividire. Nel senso che vedo funzioni che si mangiano le doppie o che incollano le parole (cosa che, per come le avevo scritte) non può proprio essere.
-- Comment added by
MassimilianoNatale on 07 May 2005
Io mi sparo...
2000 righe di codice per risolvere la maggior parte dei casi e mi vado a scordare di AGGIORNARE LA DIMENSIONE DELLA STRINGA PULITA!!!!!!!!!!!!!
Io sono un demente....ormai è assodato :'(
-- Comment added by
RiccardoVona on 07 May 2005
ammazza che vecchia
LOL

arzilla sta
vecchia
!!!
-- Comment added by
AlbertoLaRocca on 07 May 2005
ammazza la vecchia...
Eh già Alberto, talmente arzilla da far impazzire tutti!!! (qui i doppi sensi si sprecano...!)
-- Comment added by
DavidBenedetti on 07 May 2005
amma-zzalave-cchia...
tac... ta-ta-tac, tac...
che film è? :P
-- Comment added by
AlbertoLaRocca on 07 May 2005
MMMMhhhh...
Chi ha incastrato Roger Rabbit???
-- Comment added by
DavidBenedetti on 07 May 2005
esatto
-- Comment added by
AlbertoLaRocca on 07 May 2005
oddio gli OT!
Da', mi sa che ci siamo confusi, questa non è la sezione
OffTopic (ti giuro credevo che stessi scrivendo lì

)
vabbè va', riportiamo l'ordine! ecco un IT: nel log della mia compilazione (fallita) non capisco cosa significano i warning (ora se avessi qui davanti gli autori del gcc vorrei proprio chiedergli che c***o è la DIMENSIONE DI UN SIMBOLO!!! vorrei proprio chiederglielo...)
-- Comment added by
AlbertoLaRocca on 07 May 2005
Io mi sparo
Riccardo ma sbaglio o la dimensione non andava aggiornata per le funzioni rimpiazzaLettere(), eliminaTagsHtml() ?
-- Comment added by
MassimilianoNatale on 07 May 2005
RE: amma-zzalave-cchia...
http://www.videodromo.org/recens/scopone.htm
RE: DON'T PANIC
[OT: sta uscendo il film "Guida Galattica per Autostoppisti"!!!]
Sto migliorando il conteggio dei risultati. Per ora un test multiplo (ad es. RESULT_OK) fallisce se uno dei suoi molteplici controlli fallisce.
Voglio contare i sub-test e visualizzarne il numero.
Quando funziona rifaccio anche i
TestsModuloUno
-- Comment added by
AndreaSterbini on 08 May 2005
Mancano i .diff
ATTENZIONE: mi sono dimenticato di zippare i file .diff che mostrano le modifiche, lo farò appena posso.
-- Comment added by
AndreaSterbini on 08 May 2005
commosso
professore, lei ha corretto manualmente tutte le mie chiamate alla strnicmp; io sono commosso dalla sua generosità

però ancora non capisco: quella mi risultava essere una funzione standard, e le comparazioni dovevano essere case insensitive; ma gli altri che funzione hanno usato per comparare un certo numero di caratteri case insensitive?
-- Comment added by
AlbertoLaRocca on 08 May 2005
Ecco i diff
Ho messo in linea i diff (Alberto, ci voleva meno di quello che pensi)
-- Comment added by
AndreaSterbini on 08 May 2005
ma LOL!
#define strnicmp strncasecmp
non conoscevo questa strncasecmp; vedo inoltre che David ha usato strstr; vabbè, come si dice: fino alla bara sempre s'impara...
-- Comment added by
AlbertoLaRocca on 08 May 2005
Test del modulo 2
mi sono accorto guardando i risultati dei miei test sul suo codice che la maggior parte dei TEST_FAILED sono causati in quanto controllo l'EMPTY_STRING prima del NULL_POINTER, aveva detto di controllare gli errori nell'ordine come li aveva dati, o sbaglio...?
-- Comment added by
TizianoFranchi on 09 May 2005
RE: Test del modulo 2
Controllo e rifaccio i test se necessario (anche del modulo 1).
-- Comment added by
AndreaSterbini on 10 May 2005
Test del modulo 2 e 1
comunque intendevo che il suo codice non controlla gli errori in ordine e ad esempio mi da test_failed perchè la sua funzione ritorna empty_string invece di null_pointer
-- Comment added by
TizianoFranchi on 10 May 2005
Test Failed per la mancanza dei file di testing
Guardando i risultati dei miei test mi è venuto il dubbio che molti hanno fallito perchè nello scrivere le funzioni di test (per fare prima) ho assunto che i file "email1.txt", "email2.txt" ed "er.txt" fossero nella directory del progetto.
Quindi ho fatto leggere alle funzioni di testing questi file, piuttosto che usare dei buffer preparati "ad hoc".
La pregherei dunque di provare a mettere i suddetti file nella cartella del mio progetto, riprovare ad eseguire i test e confrontare i risultati. Grazie!!
P.S.
la prossima volta questo tipo di dipendenze, promesso!
-- Comment added by
AndreaMantoni on 11 May 2005
RE: Test del modulo 2
Ho controllato il mio codice modulo2.c, il codice di errore NULL_POINTER viene prima di EMPTY_STRING e quindi va testato nell'ordine:
- prima il null pointer
- poi l'empty_string
E questo è quello che faccio (tra l'altro se controllassi empty_string su un null pointer avrei un segfault). Ad esempio faccio:
if (!testoSporco) return NULL_POINTER;
if (!testoSporco[0]) return EMPTY_STRING;
Che mi pare sia nell'ordine giusto!
RE: files necessari
Ho dovuto copiare il file email1.txt in diversi modi per la vostra maledetta abitudine di cambiare i nomi dei files che vi avevo dato sul sito web. Chi cavolo ve lo ha fatto fare?
Aggiungo il tuo e rifaccio girare i test ... (che strazio

)
-- Comment added by
AndreaSterbini on 11 May 2005
Fatto
Ho aggiornato i risultati dei test copiando i file che mancavano.
Sto iniziando a contare i subtest
-- Comment added by
AndreaSterbini on 11 May 2005
Test del modulo 2 e 1
no prof..allora mi spiego meglio!!!i test falliscono perchè la mia funzione di test passa come argomenti sia l'empty_string che il null pointer, il problema nasce in quanto la sua funzione controlla prima l'empty_string sul primo parametro(es: testoSporco) invece che il null_pointer sul secondo (es: testoPulito). Io avevo capito che dovevamo controllare nell'ordine degli errori su tutti i parametri, ovvero il null pointer su tutti i parametri delle funzioni, poi l'empty_string su tutti i parametri. Però dai risultati sembra che le sue funzioni guardano si nell'ordine ma per un singolo parametro alla volta, ovvero controllano tutti gli errori sul primo parametro, poi sul secondo e così via. Quindi qual è il modo giusto di controllare gli errori???
-- Comment added by
TizianoFranchi on 11 May 2005
Riguardo l'aggiornamento della dimensione
Professore ma verrà valutato anche l'aggiornamento del parametro *dim nelle prime due funzioni? A mio avviso quel test sarebbe il tallone di achille di molti programmi (visto che non è un operazione specificata nel pdf allegato). Oppure fa fallire solo il mio. Resta il fatto che non è comunque specificato nel pdf :°(
-- Comment added by
MassimilianoNatale on 11 May 2005
Riguardo all'ordine dei controlli penso che la cosa non cambi molto... Viene cmq restituito uno solo di quei codici.
-- Comment added by
MassimilianoNatale on 11 May 2005
testoModulo2?
certo che viene restituito uno solo di quei codici..però se alla funzione xXx("", NULL, dim); per come ho implementato io il codice mi restituisce NULL_POINTER mentre il codice del prof restituisce EMPTY_STRING, almeno cosi sembra dai risultati dei miei test sul suo codice!
-- Comment added by
TizianoFranchi on 11 May 2005
NULL_POINTER? Io ho restituito INVALID_PARAMETER
Io ho implementato le funzioni facendole restituire INVALID_PARAMETER se un parametro era NULL. Anche qui c'è un pò di confusione vedo
-- Comment added by
MassimilianoNatale on 11 May 2005
Invalid parameter
questo codice serve solo se una dimensione o valore di un argomento è negativo..per un parametro NULL c'è il NULL_POINTER
-- Comment added by
TizianoFranchi on 11 May 2005
RE: Test del modulo 2 e 1
Avevo detto:
- per ciascun argomento nell'ordine
- per ciascun codice nell'ordine
-- Comment added by
AndreaSterbini on 13 May 2005
MATCH_NOT_FOUND
Ho quasi completato i test, aggiungendo quasi tutti quelli che mancavano.
Avevo sbagliato a gestire il MATCH_NOT_FOUND, ho corretto il codice e i test (grazie per la segnalazione).
Ho aggiunto una analisi della deallocazione delle strutture allocate dinamicamente. Dateci un'occhiata che vi insegna cosa vi siete dimenticati di deallocare.
-- Comment added by
AndreaSterbini on 22 May 2005
NULL_POINTER nel programma
Professore io ho sbagliato (in buona fede ma sempre errore è) il controllo sui NULL passati come argomento (credendo di dover restituire INVALID_PARAMETER anzichè NULL_POINTER, avendo relegato questo codice esclusivamente al primo modulo). Questo mi ha fatto fallire 24 test ed inutile dire che visto il lavoro fatto mi sta piangendo il cuore. Ma quanto può influire negativamente una simile dimenticanza? Sono stato stupido ma è pur sempre un errore veniale (penso) e fatto in buona fede
-- Comment added by
MassimilianoNatale on 22 May 2005
RE: numero di tests diverso
Ho disattivato alcuni controlli sulla disallocazione ed ora il numero di test è lo stesso.
-- Comment added by
AndreaSterbini on 07 Jun 2005
No such template def TMPL:DEF{PROMPT:thread}