Libzypp/Devel/Dejagnu

< Libzypp‎ | Devel
Şuraya atla: kullan, ara

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"


Geri


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