On Wed, 2017-05-24 at 17:23 +0300, Costin Lupu wrote: > On Wed, 2017-05-24 at 12:20 +0300, Andrei Simion-Constantinescu via so > wrote: > > Buna ziua, > > > > Am terminat de implementat transmiterea de fisiere statice si intampin > > umatoarea problema. Daca rulez separat continutul unui test in > > terminal, descarcarea fisierului are loc cu succes. De exemplu pentru > > testul 16, ruleze ./aws iar in alt terminal dau comanda: wget -t 1 > > "http://localhost:8888/static/small00.dat" -O small00.dat, transferul > > fisierului avand loc cu succes. Insa daca rulez ./_test/run_test.sh > > 16, wget iese cu codul de eroare 4, adica network failure. Nu pot sa > > imi dau seama ce gresesc, nu stiu ce mai face checkerul in plus in > > afara executiei comenzii din functia aferenta testului (initializarea > > mediului nu este reprezentata doar de pornirea server-ului)? Aveti > > idee care ar putea fi problema? > > Presupun că rulezi './_test/run_test.sh' din directorul checker-ului. Ai > acolo (link către) executabilul server-ului? Eroare pare să-ți apară din > cauză că serverul nu e pornit.
Ca diferență, checker-ul lansează serverul în execuție folosind comanda: $ LD_PRELOAD=_test/sockop_preload.so ./aws Asta înseamnă că apelurile send/recv/sendfile sunt definite în biblioteca sockop_preload.so. Deci ar mai fi nevoie să verifici că folosești apelurile send/recv/sendfile corect (aka verifică ce-ți returnează). Pentru debugging de scripturi, în cazul în care vrei să vezi toate comenzile executate de un shell script, poți folosi opțiunea '-x' a bash-ului: $ bash -x ./myscript Costin _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
