Libzypp/Devel/Dejagnu
Dejagnu
Dejagnu expect ve Tcl/Tk Tcl/Tk için otomatik bir deneme çatısıdır.
Tcl/Tk çerçevesinde bol miktarda kaynak bulunmaktadır. expect için bu kitap en önemli kaynaklardan biridir.
Ama kaygılanmayın, şifrenizi sınamak için expect ya da ycl/tk öğrenmenize gerek yoktur.
Nasıl Çalışır
Deneme yazılımını ya en üst noktada, ya da testsuite dizininde
make check
ya da bu dizindeki runtest modülünü çalıştırarak kullanabilirsiniz.
cd testsuite runtest
bu, libzypp.test/ 'e bakacak ve oradaki .exp dosyasını bulduğu dosyalar üzerinde çalıştıracaktır, (tcl/tk sentaksındaki expect dosyası )
Bütün denemeler tarafından paylaşılan şifreler, lib/libzypp_init.exp içine yerleştirilmelidir. Dejagnu bu şifrenin, denemeden önce çalıştırılmasını güven altına alır. Daha fazla seçenek için dejagnu manual adresine bakınız.
Halen yürürlükte olan libzypp deneme programı, denemelerin uygulanması konusunda iki fonksiyon tanımlar. Bir tanesi başarı elde etmek; diğeri ise başarısızlık içindir.
- shouldPass prog path
Çalıştırılan "prog" program başarıyla denemeyi geçmiştir
path seçmeli bir dizin yoludur ve varsayılan tests le sonuçlanır.
- shouldFail prog path
prog çalıştırılınca deneme başarısız olur.
pathseçmeli bir dizin yoludur ve varsayılan "tests" ile sonuçlanır.
Örnek
Örnek bir deneme, Arch sınıfını sınamaktadır.
Aşağıdaki parçalardan oluşur veya aşağıdaki parçalara değer.
- tests/Arch.cc
- tests/Makefile.am
- libzypp.test/Arch.exp
tests/Arch.cc
... int main( int argc, char * argv[] ) { Arch _arch( "i386" ); return 0; }
tests/Makefile.am
... noinst_PROGRAMS = Arch ... Arch_SOURCES = Arch.cc ...
libzypp.test/Arch.exp
shouldPass "Arch"
Ve deneme konusu tamamlanmıştır. Genelde bundan daha fazla bilgi gerekmemektedir.
Sınama oyununun sonu... Genelde daha fazlasına gerek yoktur.
Bir Sınama Oyunu Eklemek
Bu işlem, birkaç kolay adım içermektedir.
1. tests/ Deneme oyununun altındaki şifreyi isimlendirin Ör: tests/Solver.cc
1. Adapt tests/Makefile.am
Dosya ismini, noinst_PROGRAMS 'a ekleyin. Örneğin:
noinst_PROGRAMS = ... Solver
Makefile.am 'e kaynağın nerede olduğunu söyleyin.
Solver_SOURCES = Solver.cc
1. A libzypp.test/ altındaki sınama oyununa ekleyin, Örneğin libzypp.test/Solver.exp
shouldPass "Solver"
Trac'ta son düzeltmeler '11/22/05 10:13:22' 'kkaempf' tarafından
Trac'ta son düzeltmeler '11/22/05 10:13:22' 'kkaempf' tarafından
Trac'ta son düzeltmeler '11/22/05 10:13:22' 'kkaempf' tarafından
Trac'ta son düzeltmeler '11/22/05 10:13:22' 'kkaempf' tarafından