Temat: Toster - narzędzie do testowania zadań
Witajcie! Przygotowałem do publicznego użytku narzędzie CLI mające na celu m.in. ułatwienie proces tworzenia i uruchamiania testów z forum na pierwszym etapie olimpiady.
Toster pozwala:
- Bardzo szybko testować i generować testy do zadań, dzięki temu, że jest napiasny w Ruscie i działa wielowątkowo
- Łatwo zobaczyć, w jaki sposób wyjście testowanego programu jest błędne, dzięki wypisywaniu diffów błędnych testów
- Natychmiastowo zauważyć, kiedy program wypisuje błędne odpowiedzi - w wypadku wystąpienia błędów, można zatrzymać testowanie przed rozpatrzeniem wszystkich testów i zobaczyć w których z nich występują problemy
- (Dostępne tylko na Linuxie i pod WSL) Testować zadania w dokładnie takim samym środowisku jak na olimpiadzie (sio2jail). Pozwala to otrzymywać dokładnie takie same wyniki czasowe jak na SIO2 i dodatkowo mierzyć użycie pamięci.
Aby zainstalować Tostera, musicie mieć na swoim komputerze Rusta (którego instalator dostępny jest pod https://rustup.rs), a następnie wystarczy wpisać do linii komend "cargo install toster".
Więcej możecie przeczytać na https://crates.io/crates/toster. Jakiekolwiek błędy oraz sugestie nowych funkcjonalności proszę zgłaszać na https://github.com/MikolajKolek/toster/issues.
Toster pozwala:
- Bardzo szybko testować i generować testy do zadań, dzięki temu, że jest napiasny w Ruscie i działa wielowątkowo
- Łatwo zobaczyć, w jaki sposób wyjście testowanego programu jest błędne, dzięki wypisywaniu diffów błędnych testów
- Natychmiastowo zauważyć, kiedy program wypisuje błędne odpowiedzi - w wypadku wystąpienia błędów, można zatrzymać testowanie przed rozpatrzeniem wszystkich testów i zobaczyć w których z nich występują problemy
- (Dostępne tylko na Linuxie i pod WSL) Testować zadania w dokładnie takim samym środowisku jak na olimpiadzie (sio2jail). Pozwala to otrzymywać dokładnie takie same wyniki czasowe jak na SIO2 i dodatkowo mierzyć użycie pamięci.
Aby zainstalować Tostera, musicie mieć na swoim komputerze Rusta (którego instalator dostępny jest pod https://rustup.rs), a następnie wystarczy wpisać do linii komend "cargo install toster".
Więcej możecie przeczytać na https://crates.io/crates/toster. Jakiekolwiek błędy oraz sugestie nowych funkcjonalności proszę zgłaszać na https://github.com/MikolajKolek/toster/issues.
Od dzieciństwa bardzo nie lubiłem tostów. Mama robiła mi tosty z miodem, serem, szynką, a nawet z konfiturą i pieprzem, ale żadne mi nie smakowały. Kiedy dorosłem spotkałem najpiękniejszą dziewczynę z którą stworzyłem związek. Wszystko było cudownie. Mieliśmy 6 dzieci, 6 psów i 6 kotów. Jednak wszyscy oprócz mnie uwielbiali tosty. Codziennie je jedli na każdy posiłek. Moja żona z masłem, dzieci z dżemem, psy z mięsem, a koty z mlekiem. Prowadziło to do wielu kłótni. Nie mogli uwierzyć jak mogę nie lubić tak idealnej potrawy. Trzeba było specjalnie dla mnie przygotowywać inne dania, co zabierało dużo więcej czasu. Sprawy posunęły się do tego stopnia, że koty ode mnie uciekały, psy szczekały, dzieci nie rozmawiały, a żona chciała wziąć rozwód. Wszystko się zmieniło kiedy poznałem Toster. Stało się to przypadkiem Przeglądałem nowe zadania z olimpiady informatycznej, kiedy pojawił się ten wątek na forum. Dowiedziałem się w nim o istnieniu Tostera. Na początku sceptyczny, postanowiłem spróbować - i tak już nic więcej nie miałem do stracenia. Okazało się, że zainstalowanie Tostera to jedna prosta linia, a trwało to kilkanaście sekund - nawet moja żona tak szybko nie robi tostów! Zrobiłem już pierwsze zadanie, więc postanowiłem je przetestować używając tego programu. Nie zdążyłem nawet wstać zrobić sobie ogórka na patyku, którego zazwyczaj jadłem na kolację, a już dostałem odpowiedzi. Było to niesamowite. Od razu pokazałem Tostera wszystkim członkom mojej rodziny. Choć początkowo nie wierzyli mi, że przekonałem się do tostów, to po zobaczeniu tego cuda, od razu zrozumieli czemu. Sami również zakochali się w tej szybkości i idealności tostów z Tostera. Od tego czasu wszystko jest lepsze i nawet koty przychodzą do mnie kiedy testuje Tosterem. Dzięki zaoszczędzonemu czasu mogę też przebywać dłużej z moją żoną i dziećmi, z którymi gram wtedy w ligę legend. Toster uratował mnie i moją rodzinę. Nie jestem w stanie sobie wyobrazić jak mógłbym się odwdzięczyć za coś tak idealnego. Mogę jedynie polecić każdej tu osobie Toster, testowanie testów Tosterem i tosty z Tostera!
Dawno, dawno temu, był sobie żółty smok. Chciał on być tak jak inne smoki, które całymi dniami i nocami przygotowywały się do olimpiady informatycznej, jednak przychodziło mu to z trudem. Jak powszechnie wiadomo, żółte smoki nie grzeszą bowiem wrodzonym talentem do algorytmiki. Pewnego dnia poznał jednak żółty smok niebieskiego smoka. Niebieski smok jakby spadł żółtemu smokowi z nieba i pomógł mu zacząć przygotowania do olimpiady. Podczas tego smoki pokochały się i z tej miłości zrodziło się 6 zielonych smocząt. Zielone smoczęta były, jak wszystkie małe smoczęta, bardzo głodne. Jedynie tosty zmniejszały ich apetyt. Z czasem jak zielone smoczęta rosły, rósł też ich głód. Żółty i niebieski smok, z powodu słabej techniki, nie nadążały z robieniem wystarczającej ilości tostów by zaspokoić ich potrzeby. Wtedy pojawił się Toster. Okazało się, że robienie tostów jest smoczęco proste - a wszytko opisane w instrukcji. Toster sprawił, że zielone smoczęta nigdy nie były już głodne i urosły na wspaniałe zielone smoki, które na długi czas były dumą swoich rodziców - żółtego i niebieskiego smoka.
POBIERAJCIE TOSTER!!!!
POBIERAJCIE TOSTER!!!!
Przed kilkoma laty w pewnej kamienicy mieszkała sobie rodzina z trójką dzieci. Ojciec codziennie musiał chodzić do pracy, do fabryki wiatraków dla elektrowni wiatrowych należącej do miasta, gdzie pracował po 10 godzin i po całym dniu pracy wracał zmęczony do domu. Pomimo tego rodzina ta była dość biedna jak na obecne standardy. Doszło nawet do tego, że matka tych dzieci musiała zatrudnić się w piekarni, by być w stanie utrzymać dom. Dzieci były jeszcze dość młode, dlatego nie było mowy o tym by zatrudniły się gdzieś w okolicy, w obecnym miejscu i czasie praca dzieci w fabrykach była uznawana za niemoralną. Dlatego po pewnym czasie postanowili wziąć pożyczkę z banku by było ich stać na ich edukację oraz jedzenie. Ponieważ to właśnie jedzenie było dużym problemem w tym domu. Z powodu słabej infrastruktury miasteczko nie dostawało dużo dostaw pożywienia z innych miast, mogli polegać tylko na okolicznych wsiach. Jedyne czego mieli pod dostatkiem to oczywiście wody, ale też szynki z okolicznych ferm oraz mleka z mleczarni. Na szczęście dzięki fabryce, jedynej takiej w promieniu 100 kilometrów miasto miało wystarczający dochód by mieć pieniądze na nieliczne produkty z sąsiednich miast. Niestety sytuacja stawała się coraz gorsza. Pewnego dnia miasteczko obiegła straszna wiadomość: wybuchł pożar w fabryce! Ludzie od razu przybiegli sprawdzić czy pogłoska była prawdziwa. Okazało się że spłonęła duża część maszyn do produkcji wiatraków. Spowodowało to, że duża część osób z miasteczka straciła z tego powodu pracę. Mocno to uderzyło też w rodzinę wspomnianą na początku, gdyż zostali oni praktycznie bez środków do życia. Nie było innej równie dobrze płatnej pracy w okolicy, dlatego zapracowany ojciec musiał pracować w kilku firmach po 15 godzin dziennie. Wtedy to matka wpadła na pomysł, by przebranżować tą fabrykę. Gdyby znalazła jakiś przedmiot, najlepiej wykonany z metalu (miasto miało kontrakt z pobliską kopalnią żelaza), który byłby innowacyjny, spowodowałby, że jej mąż, oraz wielu ich przyjaciół mogliby mieć możliwość wrócenia do pracy. Zastanawiała się nad tym przez długi czas. Postanowiła pochodzić po mieście, poszukać inspiracji. Chodziła wszędzie. Patrzyła w muzeum, chodziła między różnymi farmami w okolicy, w końcu poddała się. Kolejnego dnia kiedy wróciła do pracy, gdy dostarczała chleb do sklepu z pieczywem, natknęła się na pewnego klienta tegóż sklepu, który planował kupić czterdzieści kanapek. Wydało się jej to nietypowe, pomyślała że rzeczywiście kanapki z serem i szynką są tutaj bardzo popularnym jedzeniem, i można powiedzieć nawet że z powodu braku innych składników i w rezultacie produkcji latami tego samego produktu, jakość tego produktu doszła do perfekcji, niektórzy nawet nazywali to specjałem tego miasta. Brakowało jednak temu jakiejś nietypowości, w końcu dużo osób je kanapki, dlatego nie przyciągało to dużo turystów ku nieszczęściu miasteczka. Jednak gdy matka, która btw ma na imię Teresa dopytała się o powód dla którego ten klient kupił tego aż tyle, dowiedziała się od kasjerki, że on ma zwyczaj smażyć je na oleju. Twierdzi, że są one dobre, lecz niektórzy narzekają też że są zbyt tłuste. Teresa pomyślała że to rzeczywiście, kto normalny marnuje tak cenny produkt na kanapki, tylko psując ich smak. Jednak gdy wróciła do domu, pomyślała że można spróbować ten problem rozwiązać. Gdy jej mąż, imieniem Tobiasz, wrócił zmęczony do domu, na kolację, zamiast zwykłych kanapek, dostał kanapki smażone na oleju. Z początku był skonfundowany, lecz gdy spróbował tego, odkrył że rzeczywiście nie jest to zły smak, lecz gdyby smażyć to na czymś innym niż oleju, gdyby jakoś inaczej to podgrzać, byłoby to o wiele lepsze niż zwykła zimna kanapka. Teresa zgodziła się z Tobiaszem, lecz powiedziała że raczej ciężko byłoby coś takiego osiągnąć. Wtedy nagle Tobiasz wstał z miejsca przewracając krzesło, i powiedział że ma pomysł, i że weźmie jutro dzień wolny. Zaniepokojona Teresa spojrzała się na niego, ale on odpowiedział że nie musi już szukać dalej pomysłów na to jak można przebranżować fabrykę, on wpadł na pomysł jak można ulepszyć jej pomysł. Następnego dnia poszedł na złomowisko i zabrał dwie stare grzałki elektryczne oraz kilka blach. Wziął swój stary zestaw naprawczy, i wykorzystał swoją wiedzę z konstrukcji wiatraków z poprzedniej pracy by wytworzyć nowe urządzenie. Gdy Teresa zapytała się co to jest, on odpowiedział że jeszcze nie wymyślił tego nazwy. Następnie poprosił żonę by kupiła kilka tradycyjnych kanapek. Gdy ona pospiesznie wróciła do domu, on wrócił, włożył jedną do owej maszyny i poczekał chwilę. Jednak zauważył po dłuższym czasie że nie ma jak jej wyjąć ze środka, dlatego używając jakiegoś noża wyciągnął podgrzaną kanapkę ze środka. Zauważył od razu, że choć chleb wyszedł chrupki z nawet dobry, to ser wylał się do środka maszyny i nawet trochę zwęglił. Pomyślał, że jeszcze długa droga przed nim do perfekcji, ale wiedział że to była dobra droga. Po kilku dniach przedstawił Teresie swoje dzieło. Była to srebrna prostokątna maszyna, dosyć mała. Następnie wziął 2 kanapki i je złożył chlebem na zewnątrz. Następnie włożył do jednego z otworów z boku maszyny, wymierzonego idealnie na te kanapki. Następnie podstawił talerz przez tym otworem, poczekał chwilę i przesunął suwak z boku maszyny. Przesuwając go wysunął kanapkę ze środka. Następnie dał tą kanapkę do spróbowania swojej żonie. Ona spróbowała i powiedziała z zaskoczeniem, że jest jeszcze lepsze niż najlepsze kanapki jakie jadła w tym mieście. Zapytała się jak planuje nazwać tą maszynę. On odpowiedział że w stylu wielkich wynalazców jest nazwać swoje wynalazki swoim nazwiskiem. Jednak chcąc uhonorować fakt, że zbudował to również dzięki pomysłowi jego żony, postanowił nazwać to połączeniem ich imion. Jako, że on ma na imię Tobiasz a jego żona Teresa, to postanowił nazwać maszynę To'S'Ter. Nawet uwzględnił pierwszą literę ich nazwiska. Teresa powiedziała, że maszyna rzeczywiście się nadaje do
zaprezentowania radzie miasta by zaczęto produkować tą maszynę w dawnej fabryce. Jednak powiedziała, że apostrofy są niepotrzebne, tylko komplikuje nazwę. To powinno być coś co każdy człowiek może w przyszłości będzie mieć w swoim domu, nazwa "Toster" brzmi o wiele prościej i lepiej. Tobiasz przyznał jej rację, i od razu poszedł z testowymi kanapkami, które nazwał roboczo "tostami", do ratusza. Członkowie rady miasta bardzo polubili tosty, i jednogłośnie postanowili rozpocząć produkcję tosterów w dawnej fabryce. Biznes okazał się bardzo korzystny, w ramach podziękowanie Tobiaszowi i Teresie zarząd postanowił zostawić nazwę maszyny taką, jaką zaproponowała Teresa. Otrzymali także wysokie pozycje menedżerskie w odbudowanej fabryce, dostawali bardzo dużo pieniędzy z tej pracy. Nareszcie było ich stać na renowację domu, na ogrzewanie w zimę nawet spłacenie kredytu. I tak samo jak toster odmienił życie całego miasta, tak samo może odmienić twoje. Dlatego serdecznie polecam Toster, niech odmieni i wasze życie!
zaprezentowania radzie miasta by zaczęto produkować tą maszynę w dawnej fabryce. Jednak powiedziała, że apostrofy są niepotrzebne, tylko komplikuje nazwę. To powinno być coś co każdy człowiek może w przyszłości będzie mieć w swoim domu, nazwa "Toster" brzmi o wiele prościej i lepiej. Tobiasz przyznał jej rację, i od razu poszedł z testowymi kanapkami, które nazwał roboczo "tostami", do ratusza. Członkowie rady miasta bardzo polubili tosty, i jednogłośnie postanowili rozpocząć produkcję tosterów w dawnej fabryce. Biznes okazał się bardzo korzystny, w ramach podziękowanie Tobiaszowi i Teresie zarząd postanowił zostawić nazwę maszyny taką, jaką zaproponowała Teresa. Otrzymali także wysokie pozycje menedżerskie w odbudowanej fabryce, dostawali bardzo dużo pieniędzy z tej pracy. Nareszcie było ich stać na renowację domu, na ogrzewanie w zimę nawet spłacenie kredytu. I tak samo jak toster odmienił życie całego miasta, tak samo może odmienić twoje. Dlatego serdecznie polecam Toster, niech odmieni i wasze życie!
bardzo fajny toster
Polecam i potwierdzam.
Toster jest około 5 razy szybszy (co prawda na 1e6 malutkich testach) niż mój skrypt w dashu, który też jest wielowątkowy.
Toster jest około 5 razy szybszy (co prawda na 1e6 malutkich testach) niż mój skrypt w dashu, który też jest wielowątkowy.
Toster to rewelacyjne narzędzie, bardzo pomocne przy sprawdzaniu zadań, polecam wszystkim którzy w przyszłości trafią na to forum.
Bardzo dziękuję twórcy za podzielenie się tym dziełem z innymi. <3 ;)
Bardzo dziękuję twórcy za podzielenie się tym dziełem z innymi. <3 ;)