PDA

View Full Version : Build rossa


Ufo13
27-01-2008, 15:56
Occhio raga, la build e`rotta da questa mattina :P

AnonimoVeneziano
27-01-2008, 16:06
:eek: :doh:

Taglia u'dito taglia u'dito taglia u'dito

Chi è stato? :ciapet:

Ufo13
27-01-2008, 16:08
Non ha molta importanza chi, basta fixare la build... Io posso darci un'occhiata tra un paio d'ore altrimenti se qualcuno puo` farlo ora tanto meglio

AnonimoVeneziano
27-01-2008, 16:08
ci provo io ...

sto scaricando la build rotta adesso

Ciao

Ufo13
27-01-2008, 16:10
e` verde con il test runner integrato in eclipse ma rossa su ANT... strano

Ufo13
27-01-2008, 16:21
Scusate ma java non lo conosco cosi` bene come pensavo...


abstractDroppable = new AbstractSingleDroppable(
MockEngine.create(0, 0), AbstractDroppableType.GEM, DroppableColor.DIAMOND,
0)
{
};


Cosa fa sta riga di codice? Sembra che le {}; permettano di chiamare il costruttore anche se protetto :o

VICIUS
27-01-2008, 16:45
Mi chiedo se ha senso testare quella classe che essendo abstract nel codice non può essere istanziata. Oltretutto i test sono tutti assertEquals piuttosto banali e non è che dicano tanto sul funzionamento della stessa. Così a naso direi che i test sono stati scritti di fretta dopo che la classe.

AnonimoVeneziano
27-01-2008, 16:46
E' una classe anonima

E' il centro del problema.

Non si possono fare classi anonime in JUnit.

Difatti avevo risolto il problema mettendo dei mock anzichè istanziare la classe lì ....

Ma sono stati fatti pesanti modifiche nell'ultimo update che mi hanno costretto a buttare tutto il lavoro fatto perchè è cambiato troppo. Adesso sto rifacendo il checkout ...

Comunque non basta fare lanciare Junit per accorgersi del problema. Bisogna lanciare Ant Build!!

Ciao

AnonimoVeneziano
27-01-2008, 16:59
Committato.

Mo dovrebbe essere blu.

Comunque dovremmo decidere se eliminare i test incriminati

71104
27-01-2008, 17:15
confesso di essere stato io... :|
il fatto è che quell'helper era utilizzato una volta sola in tutto il codice, e quindi leggendo anche il TODO che stava scritto subito sotto (per un problema identico) mi son chiesto come mai isolarlo in un altra classe ^^'
poi io siccome il checkstyle ce l'ho nel sangue non uso mai Ant per avviare JUnit :asd:
grazie Anonimo :)

ps: oggi si è scoperto che ad Ant non piacciono le classi anonime... domani che altro? :mbe:

AnonimoVeneziano
27-01-2008, 17:21
confesso di essere stato io... :|
il fatto è che quell'helper era utilizzato una volta sola in tutto il codice, e quindi leggendo anche il TODO che stava scritto subito sotto (per un problema identico) mi son chiesto come mai isolarlo in un altra classe ^^'
poi io siccome il checkstyle ce l'ho nel sangue non uso mai Ant per avviare JUnit :asd:
grazie Anonimo :)

ps: oggi si è scoperto che ad Ant non piacciono le classi anonime... domani che altro? :mbe:

prego :D

Sinceramente non lo sapevo neanch'io ,fino ad oggi, che le classi anonime facessero a botte con JUnit. A quanto sembra infatti è un errore generato da JUnit che però non si ripercuote sui tests lanciati attraverso il "Run As".

Forse Ant Build lancia i tests con parametri diversi o modalità differenti? O magari non ignora warning che col "run as" vengono ignorati. Boh.

Fatto stà che adesso sappiamo che non dobbiamo usare le classi anonime nei test di JUnit :D

Ciao

Ufo13
27-01-2008, 17:29
comunque ogni tanto date un'occhio al build server, potete registrarvi al RSS e tenervi la barretta in alto su mozilla

71104
27-01-2008, 17:34
comunque ogni tanto date un'occhio al build server, potete registrarvi al RSS e tenervi la barretta in alto su mozilla me ne ridai l'indirizzo che non me lo sono segnato?

AnonimoVeneziano
27-01-2008, 17:38
http://fcarucci.homeip.net:8080/cruisecontrol/buildresults/diamonds

Comunque lanciando Ant Build prima di ogni commit si sta al sicuro

Ciao

71104
27-01-2008, 17:44
http://fcarucci.homeip.net:8080/cruisecontrol/buildresults/diamonds ari-grazie :)

fek
28-01-2008, 12:28
confesso di essere stato io... :|

*crack*

poi io siccome il checkstyle ce l'ho nel sangue non uso mai Ant per avviare JUnit :asd:

D'ora in poi lancia Ant prima di ogni commit per favore :)

71104
28-01-2008, 12:39
*crack* *AHI* :cry:

D'ora in poi lancia Ant prima di ogni commit per favore :) si, ci sto facendo l'automatismo infatti :mc:

thebol
29-01-2008, 11:24
ehm
la inner class anonima l'avevo fatta io, e finchè rimaneva nell'helper funzionava anche il task ant.

Ora riporvo a farla, poi ditemi se preferite la classe reale o anonima creata dall'helper

thebol
29-01-2008, 11:49
confermo

se l'inner class è dichiarata nella classe helper non ci sono problemi

Evidentemente, il fatto che junit reinstanzi la classe di test per ogni test effettuato crea qualche problema alle inner class, mentre se sono presenti in un altra classe non dà problemi

AnonimoVeneziano
29-01-2008, 13:15
confermo

se l'inner class è dichiarata nella classe helper non ci sono problemi

Evidentemente, il fatto che junit reinstanzi la classe di test per ogni test effettuato crea qualche problema alle inner class, mentre se sono presenti in un altra classe non dà problemi

Io invece credo sia perchè in JUnit le classi definite all'interno della classe "TestCase" sono in qualche modo dipendenti dalla classe TestCase stessa e richiedono un costruttore di tipo TestCase(). Difatti l'errore era proprio quello : Ant si lamentava del fatto che alla classe anonima mancasse un costruttore "public TestCase()".

Ciao