2013-05-06 12 views
5

Oto wiele komentarzy na kilka pytań (zwłaszcza dla shell), które mówią w zasadzie jeden lub więcej z następujących czynności:Testing „ramy” dla skryptów z niestandardowych nazw

  • ta zakończy się niepowodzeniem na nazwy plików, które zawierają spacje , nowe linie, itp,
  • to zawiedzie, jeśli plik jest dowiązaniem symbolicznym (lub nie),
  • to zawiedzie, jeśli $filaneme jest katalogiem, a nie zwykłym plikiem,
  • i tak dalej.

Choć rozumiem, że każdy skrypt potrzebuje własnego środowiska testowego, ale są pewne rzeczywspólne dla co skrypt powinien być odpornościowy przeciw.

Moim zamiarem jest napisanie skryptu, który utworzy pewną hierarchię katalogów ze "specjalnie spreparowanymi" nazwami plików do celów testowych.

Pytanie brzmi: jakie "specjalne" nazwy plików są dobre dla tego testu?

Obecnie mam (skrypt tworzy pliki i katalogi) z:

  • przestrzeni w nazwie pliku
  • nowej linii w nazwie pliku
  • nazwa
  • plik, który rozpoczyna się jedno z poniższych:
    • (jak argument polecenia)
    • # (komentarz char)
    • ! (historia poleceń)
  • nazwa
  • plik zawierający jeden:
    • | char (rura)
    • () chars
    • * i ? (dzikie karty)
  • pliku nazwa ze znakami Unicode
  • wszystkie powyższe katalogi
  • linkiem symbolicznym do katalogu
  • symboliczny link do pliku

Każdy inny pomysł, czego nie należy przegapić?

+0

byłbym zainteresowany pism skryptów, które przechodzą wszystkie te pliki. Czy chciałbyś udostępnić swój wynikowy skrypt po napisaniu go? Być może wtedy inni chcieliby go poprawić lub dodać inne przypadki później. Sugeruję utworzenie repozytorium dla skryptu na http://github.com – Shahbaz

+0

W porządku, github jest bardzo prosty, jeśli spróbujesz. Są też miłe pomoce. Po prostu zarejestruj się i to cię poprowadzi. – Shahbaz

Odpowiedz

3

co przychodzi mi do głowy:

  • cudzysłowy w pliku pojedyncze i podwójne
  • postać $ na początku
  • kilka znaków przekierowania jak ><<<<<<
  • ~ Char ($ HOME)
  • ";" (Jako separatorem poleceń)
  • ukośnik w nazwie pliku \

zasadzie przejść przez tabeli ASCII i przetestować wszystkie znaki, jeśli uważasz, że trzeba to :)

Kilka kolejnych komentarzy:

  • Jeśli potrzebujesz skryptów testowych do pytań przepełnienia stosu, powinieneś utworzyć jeden plik z zawartością OP (nazywając go "plikiem podstawowym")
  • I wszystkie powyższe "sp pliki ECI "powinny być dowiązaniami symbolicznymi do powyższego podstawowego pliku. Za pomocą tej metody można łatwo modyfikować zawartość plików (konieczna jest zmiana tylko jednej - podstawowej).
  • Lub, jeśli dowiązanie symboliczne nie jest rozwiązaniem, należy użyć hard-links.

nie bezpośrednio o znaków specjalnych w nazwach plików, ale jest dbać o:

  • innej sprawie nazw, zwłaszcza w przypadku zdjęć, jak image.jpgimage.JPG, samą nazwą tylko innym rozszerzeniem

EDYCJA: Pomysły na komentarze:

  • Bardzo długie nazwy plików, wiele, wiele plików, a bardzo głębokie hierarchie katalogów (tripleee)
+0

Czy możesz zwrócić większą uwagę na gramatykę i przepisać swoje pierwsze dwa "inne komentarze"? Są dość trudne do zrozumienia. – Shahbaz

+0

Niestety, moja gramatyka jest tak dobra, jak dobra, to google-translate. Tak więc, jeśli jest naprawdę źle - zaznacz to dla usunięcia. Przepraszamy za spowodowane problemy. ; ( – jm666

+0

Nie, podnosisz dobre punkty, a odpowiedź jest zdecydowanie przydatna, miałem tylko nadzieję, że możesz ją poprawić – Shahbaz