[Dresden-pm] Pakete war: Frage zum Testen (Regressionstests)

Hans-Dietrich Kirmse hd.kirmse at gmx.de
Sam Feb 4 04:19:30 PST 2006


Hallo Steffen,

Steffen Schwigon schrieb:
> Hans-Dietrich Kirmse <hd.kirmse at gmx.de> writes:
> 
>>Es geht um 8 CGI-Scripte, bei der ich alle Subroutinen in ein
>>Modul ausgelagert habe.
>>[...]
>>jetzt mein Problem: in einem CPAN-Archiv sind doch immer nur
>>Module und keine CGI-Scripte
> 
> 
> Keine Sorge, betrachte erstmal das Modul für sich.
> Für die CGIs findet sich in der Struktur dann schon ein Platz.

Über die 2 Sätze mußte ich doch lange nachdenken, aber zum Glück
erfolgreich. Mit dem Ergebnis, dass ich meine ganze Struktur zum
x-ten Male über den Haufen werfe und damit aber mit einem Schlag
sich (vermutlich) alle von mir aufgeworfenen Probleme lösen werden.

>>am liebsten wäre mir, wenn es eine Lösung gäbe nach folgenden
>>Muster: "CPAN-Paket" (was nicht auf dem CPAN liegen muss) und mit
>>einem Script wird das auf Wunsch in ein RPM-File konvertiert oder
>>als Slackware-Paket.
> 
> 
> Hast Du einmal die Standardstruktur, gibt's dafür Lösungen.

mir inzwischen klar, wie das ungefähr aussehen wird und gleichzeitig,
dass ich da noch etliches dazu lernen muss. (später)

Da ich momentan noch ein nichtobjektorientierten Design habe und das
auch erstmal so behalte (die Lösung muss erstmal zur Verfügung stehen),
hilft mir "Acme::..." nicht weiter und ich habe das mal anhand eines
Buches auf meinem Win98 mit diesen zwei Dummy-Funktionen "summe" und
"hochdrei" durchgespielt. es war binnen weniger Minuten durchgespielt
bis auf die Sache, dass ich erstmla mit der Fehlermeldung ".. no plan"
vor Probleme gestellt war, aber das fand sich dann doch schnell.

>>alles was "make & Co." (und damit sicher auch "Build") betrifft, habe
>>ich eh noch nicht verstanden (hier ausdrücklich den Sinn dieser Sache
>>bei Perl. bei C-Programmen sehe ich den Sinn schon).
> 
> 
> Der Sinn ist die uniforme Abarbeitung nach immer dem gleichen Schema:

>  - perl Makefile.PL
>  - make
>  - make test
>  - make install

ja, ist klar. ich habe dann ein Paket, was mit diesen Aufrufen
installiert wird. Technik für das Erstellen eines solchen Moduls ist
mir nun klar.

> bzw.
> 
>  - perl Build.PL
>  - ./Build
>  - ./Build test
>  - ./Build install

   :

> Der Build-Mechnaismus lohnt sich halt genau für Deine nichttriviale
> Verteilung, wenn das Modul irgendwohin gehört und die CGI-Skripte
> woandershin und die Manpages noch woandershin. Du musst nie wieder
> etwas "in ein entsprechendes Verzeichnis" kopieren. Macht alles die
> Distribution, weil sie standardkonform ist.

ich frage zu Build später nach, das scheine ich momentan noch nicht zu
brauchen.

> Schreib ein Acme::ProbierAffe.

wie schon gesagt, ich habe kein Acme:: ... geschrieben, weil das Gerüst
(so wie ich es verstanden habe) ein objektorientiertes ist und das
wollte ich momentan nicht. Aber trotzdem, angenommen, ich hätte es
geschrieben, wie geht man dann vor, um es auf dem CPAN bereit zu
stellen. Anders gesagt, wie bekommt man einen Account auf PAUSE?
(ich war natürlich auch über diesen Begriff gestolpert!)

   :

> Aha. Na prima. Dann kann es sinnvoll sein, nur das Modul, ohne
> Skripte, als Distribution zu bauen. Die Skripte bleiben außen vor,
> werden autonom "irgendwie" installiert 

so wie ich das jetzt sehe, muss das dann in die rpm- bzw. Slackware-
Pakete und die wiederum werden eben auch dieses CPAN-Modul abfordern
oder enthalten. Ich habe zwar von rpm's noch keine Ahnung, aber ich
hätte erstmal ein Modell fürs Weiterarbeiten und dabei dieser m.E.
sinnvollen Forderung (dass nichts am Paketmanager vorbei installiert
werden soll), auch Rechnung getragen.


> Du musst es halt anpassen. Schreib ein Acme::ProbierAffe. :-)
> Ist 1-2 Stunden Arbeit beim ersten Mal, vielleicht sogar länger.

nö, war dann keine 30 Minuten

> Aber Du kommst nicht drumrum. Nutze die URL.

Welche URL meinst du eigentlich?

   :

>>könntet ihr mich bitte noch mal erleuchten  ;)
> 
> 
>     To follow the path:
>     look to the master,
>     follow the master,
>     walk with the master,
>     see through the master,
>     become the master.
> 
> Ohne probieren wird es nichts. Nach dem "look" kommt das "follow". 
> 
> Du musst anfangen Acme::ProbierAffe zu bauen, dann wird Dir das erste
> bissel klar, 

es war bei mir trotzdem anders herum. Ich halte es mehr mit dem
abgewandelten Einsteinwort: "es gibt nichts Praktischeres als ein
gutes Konzept". Und ich denke, mein Konzept hat in den letzten 24
Stunden einen deutlichen Qualitätssprung gemacht - Danke.

> dann Dein Modul 

ja, nun weiss ich, wie ich das zu überarbeiten habe.

 > und morgen die ganze Welt. :-)

meine Perlwelt, also die Saalfelder Perl Mongers, vergesse ich nicht ;)

> Wenn Du damit konkrete Probleme bekommst, schreibst Du die hier
> rein. Die lösen wir schrittweise, teile und herrsche.

klar. - Danke.

Ich wünsche ein schönes Wochenende.

--

Mit freundlichen Grüßen
Hans-Dietrich