Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.20 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. # Exit immediately if any command below fails.
  4. set -e
  5.  
  6. make
  7.  
  8.  
  9. echo "Generating a test_files directory.."
  10. mkdir -p test_files
  11. rm -f test_files/*
  12.  
  13.  
  14. echo "Generating test files.."
  15.  
  16. ### ASCII ###
  17. printf "Hello, World!\n" > test_files/ascii.input
  18. printf "Hello, World!\n" > test_files/ascii2.input
  19. printf "hej\n" >test_files/ascii3.input
  20. printf "Vi studerer datalogi\n" >test_files/ascii4.input
  21. printf "Compsys er for vildt\n" >test_files/ascii5.input
  22. printf "tomorrov never dies\n" >test_files/ascii6.input
  23. printf "Vi bliver kloge af disse tests\n" >test_files/ascii7.input
  24. printf "Magnus Carlson er god til skak\n" >test_files/ascii8.input
  25. printf "Messi spiller for Barcelona\n" >test_files/ascii9.input
  26. printf "Allan Olsen er musiker\n" >test_files/asciiTi.input
  27. printf "Mette Frederiksen er socialdemokrat\n" >test_files/asciiElve.input
  28. printf "asfdagdvgfadscarfd\n" >test_files/asciiTolv.input
  29.  
  30. ### data ###
  31. printf "Hello,\x00World!\n" > test_files/data.input
  32. printf "\xF2\x20\x10\x18\n" > test_files/data2.input
  33. printf "\xE6\x10\x18\n" > test_files/data3.input
  34. printf "\x10\xE6\x18\n" > test_files/data4.input
  35. printf "\xF7\x10\x18\n" > test_files/data5.input
  36. printf "\xC6\xC0\x18\n" > test_files/data6.input
  37. printf "\xE6\x00\xE6\n" > test_files/data7.input
  38. printf "\xE6\x10\x18\xC9\n" > test_files/data8.input
  39. printf "\xC9\xF9\x18\n" > test_files/data9.input
  40. printf "\xE6\x10\xF4\n" > test_files/data10.input
  41. printf "\xB2\xB2\xB2\n" > test_files/data11.input
  42. printf "\xC6\xC9\x18\n" > test_files/data12.input
  43.  
  44. ### UTF8 ###
  45. printf "你好 世界\n" > test_files/UTF82.input
  46. printf "هيلو دنيا\n" > test_files/UTF83.input
  47. printf "สวัสดีชาวโลก\n" > test_files/UTF84.input
  48. printf "ndewo ụwa\n" > test_files/UTF85.input
  49. printf "γεια κόσμο\n" > test_files/UTF86.input
  50. printf "こんにちは世界\n" > test_files/UTF87.input
  51. printf "សួស្តីពិភពលោក។\n" > test_files/UTF88.input
  52. printf "салам дүйнө\n" > test_files/UTF89.input
  53. printf "안녕 세상\n" > test_files/UTF810.input
  54. printf "ሰላም ዓለም\n" > test_files/UTF811.input
  55. printf "မင်္ဂလာပါကမ္ဘာကြီး\n" > test_files/UTF812.input
  56. printf "မင်္ဂလာပါကမ္ဘာကြီး\n" > test_files/UTF813.input
  57. printf "\xF0\x80\x80\x80" > test_files/UTF14.input
  58. printf "\xF2\x81\x82\x83\n" > test_files/UTF815.input
  59. printf "\xC8\x81\n" > test_files/UTF816.input
  60. printf "\xE6\x81\x82" > test_files/UTF817.input
  61.  
  62.  
  63. ### Little-endian ###
  64. printf "\xFF\xFE" > test_files/LEndian.input
  65. printf "\xFF\xFE ahsjdbajshdbs\n" > test_files/LEndian2.input
  66. printf "\xFF\xFE " > test_files/LEndian3.input
  67. printf "\xFF\xFE Hej Jan" > test_files/LEndian4.input
  68. printf "\xFF\xFE LOL!!!" > test_files/LEndian5.input
  69. printf "\xFF\xFE Så er der lagkage" > test_files/LEndian6.input
  70. printf "\xFF\xFE Compsys tager livet af selv den sejeste" > test_files/LEndian7.input
  71. printf "\xFF\xFE Vi laver gode kreative tests" > test_files/LEndian8.input
  72. printf "\xFF\xFE ja vi gør så!" > test_files/LEndian9.input
  73. printf "\xFF\xFE Det er virkelig nøjeren" > test_files/LEndian10.input
  74. printf "\xFF\xFE Hello!!!!" > test_files/LEndian11.input
  75. printf "\xFF\xFE Endelig færdig Jan" > test_files/LEndian12.input
  76.  
  77. ### Big-endian ###
  78. printf "\xFE\xFF\n" > test_files/BEndian.input
  79. printf "\xFE\xFF nu videre med the big one\n" > test_files/BEndian2.input
  80. printf "\xFE\xFF Jeg glæder mig til at være færdig\n" > test_files/BEndian3.input
  81. printf "\xFE\xFF Det har desværre stadig lange udsigter\n" > test_files/BEndian4.input
  82. printf "\xFE\xFF Vi mangler en god rapport Daniel\n" > test_files/BEndian5.input
  83. printf "\xFE\xFF Vi skal nok prøve at undlade at skrive mindst muligt\n" > test_files/BEndian6.input
  84. printf "\xFE\xFF Vi har faktisk massere på hjerte\n" > test_files/BEndian7.input
  85. printf "\xFE\xFF Vi er rigtige dataloger\n" > test_files/BEndian8.input
  86. printf "\xFE\xFF Hej Jan\n" > test_files/BEndian9.input
  87. printf "\xFE\xFF Hvem er jan??\n" > test_files/BEndian10.input
  88. printf "\xFE\xFF Jan kan være hvem som helst\n" > test_files/BEndian11.input
  89. printf "\xFE\xFF Endelig i mål\n" > test_files/BEndian12.input
  90.  
  91. ### ISO ###
  92.  
  93. printf "\xA0\xA0\n" > test_files/ISO.input
  94. printf "\xB1\xB1\xB1\xB1\n" > test_files/ISO2.input
  95. printf "\xC1\xC1\xC1\n" > test_files/ISO3.input
  96. printf "\xA0\xC1\xC1\n" > test_files/ISO4.input
  97. printf "\xB4\xA9\xA4\n" > test_files/ISO5.input
  98. printf "\xC0\xB7\xE6\n" > test_files/ISO6.input
  99. printf "\xE6\xA0\xE6\n" > test_files/ISO7.input
  100. printf "\xE6\xA0\xA0\xA9\n" > test_files/ISO8.input
  101. printf "\xC9\xE1\xF2\n" > test_files/ISO9.input
  102. printf "\xE1\xE1\x0C\n" > test_files/ISO10.input
  103. printf "\xB2\xB2\x0B\n" > test_files/ISO11.input
  104. printf "\B5\xC9\xC1\n" > test_files/ISO12.input
  105.  
  106. ### TODO: Generate more test files ###
  107.  
  108.  
  109. echo "Running the tests.."
  110. exitcode=0
  111. for f in test_files/*.input
  112. do
  113. echo ">>> Testing ${f}.."
  114. file ${f} | sed 's/ASCII text.*/ASCII text/' > test_files/expected
  115. ./file ${f} > test_files/actual
  116.  
  117. if ! diff -u test_files/expected test_files/actual
  118. then
  119. echo ">>> Failed :-("
  120. exitcode=1
  121. else
  122. echo ">>> Success :-)"
  123. fi
  124. done
  125. exit $exitcode
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement