Permalink
Browse files

Refactor launching for alisp.

Clucumber now passes its self-tests in sbcl and Allegro's ANSI CL mode.

This change does the following things:

* Bundle the packages necessary for running clucumber in the lib/clucumber/vendor/ directory and
  load any systems that are not installed under any given implementation. 
  - cl-interpol (0.2.1)
  - cl-ppcre (2.0.3)
  - cl-unicode (0.1.1)
  - lift (1.7.0)
  - st-json (Fri Jul 10 13:24:10 CEST 2009  marijnh@gmail.com)
  - trivial-backtrace (48a6b081e00b0d85f1e001c7258393ed34d06bc9)
  - usocket (r522)
* Refactor ClucumberSubprocess to split .new from .launch, and rename "start" to "listen".
* In .launch, install an at_exit handler that kills the process.
* Update self-tests for new ClucumberSubprocess call signature
* In self-tests, compare outputs in lower case; this is enough to cover the differences between 
  Allegro and SBCL.
* Update README
  • Loading branch information...
antifuchs committed Jul 11, 2010
1 parent 894d7d1 commit 6abd95c2b902882336fbb1352c7c60822677daaf
Showing with 171,673 additions and 26 deletions.
  1. +4 −9 README.md
  2. +2 −2 features/step_definitions/clucumber_steps.rb
  3. +1 −1 features/step_definitions/cucumber_steps.rb
  4. +29 −7 lib/clucumber.rb
  5. +32 −0 lib/clucumber/clucumber-bootstrap.lisp
  6. +26 −0 lib/clucumber/vendor/cl-interpol/CHANGELOG
  7. +39 −0 lib/clucumber/vendor/cl-interpol/README
  8. +55 −0 lib/clucumber/vendor/cl-interpol/alias.lisp
  9. +56 −0 lib/clucumber/vendor/cl-interpol/cl-interpol.asd
  10. +43 −0 lib/clucumber/vendor/cl-interpol/cl-interpol.system
  11. +720 −0 lib/clucumber/vendor/cl-interpol/doc/index.html
  12. +53 −0 lib/clucumber/vendor/cl-interpol/load.lisp
  13. +40 −0 lib/clucumber/vendor/cl-interpol/packages.lisp
  14. +716 −0 lib/clucumber/vendor/cl-interpol/read.lisp
  15. +113 −0 lib/clucumber/vendor/cl-interpol/specials.lisp
  16. +177 −0 lib/clucumber/vendor/cl-interpol/test.lisp
  17. +102 −0 lib/clucumber/vendor/cl-interpol/test.pl
  18. +71 −0 lib/clucumber/vendor/cl-interpol/test/create_perl_tests.pl
  19. +34 −0 lib/clucumber/vendor/cl-interpol/test/packages.lisp
  20. +6,222 −0 lib/clucumber/vendor/cl-interpol/test/perltests
  21. +144 −0 lib/clucumber/vendor/cl-interpol/test/simple
  22. +128 −0 lib/clucumber/vendor/cl-interpol/test/tests.lisp
  23. +6,254 −0 lib/clucumber/vendor/cl-interpol/test2.lisp
  24. +13,912 −0 lib/clucumber/vendor/cl-interpol/unicode.lisp
  25. +122 −0 lib/clucumber/vendor/cl-interpol/util.lisp
  26. +361 −0 lib/clucumber/vendor/cl-ppcre/CHANGELOG
  27. +62 −0 lib/clucumber/vendor/cl-ppcre/README
  28. +1,262 −0 lib/clucumber/vendor/cl-ppcre/api.lisp
  29. +152 −0 lib/clucumber/vendor/cl-ppcre/charmap.lisp
  30. +242 −0 lib/clucumber/vendor/cl-ppcre/charset.lisp
  31. +98 −0 lib/clucumber/vendor/cl-ppcre/chartest.lisp
  32. +34 −0 lib/clucumber/vendor/cl-ppcre/cl-ppcre-test.asd
  33. +40 −0 lib/clucumber/vendor/cl-ppcre/cl-ppcre-test.system
  34. +58 −0 lib/clucumber/vendor/cl-ppcre/cl-ppcre-unicode.asd
  35. +38 −0 lib/clucumber/vendor/cl-ppcre/cl-ppcre-unicode/packages.lisp
  36. +61 −0 lib/clucumber/vendor/cl-ppcre/cl-ppcre-unicode/resolver.lisp
  37. +79 −0 lib/clucumber/vendor/cl-ppcre/cl-ppcre.asd
  38. +59 −0 lib/clucumber/vendor/cl-ppcre/cl-ppcre.system
  39. +471 −0 lib/clucumber/vendor/cl-ppcre/closures.lisp
  40. +875 −0 lib/clucumber/vendor/cl-ppcre/convert.lisp
  41. +1,546 −0 lib/clucumber/vendor/cl-ppcre/doc/benchmarks.2002-12-22.txt
  42. +2,215 −0 lib/clucumber/vendor/cl-ppcre/doc/index.html
  43. +84 −0 lib/clucumber/vendor/cl-ppcre/errors.lisp
  44. +737 −0 lib/clucumber/vendor/cl-ppcre/lexer.lisp
  45. +57 −0 lib/clucumber/vendor/cl-ppcre/lispworks-defsystem.lisp
  46. +67 −0 lib/clucumber/vendor/cl-ppcre/load.lisp
  47. +578 −0 lib/clucumber/vendor/cl-ppcre/optimize.lisp
  48. +68 −0 lib/clucumber/vendor/cl-ppcre/packages.lisp
  49. +319 −0 lib/clucumber/vendor/cl-ppcre/parser.lisp
  50. +174 −0 lib/clucumber/vendor/cl-ppcre/perltest.pl
  51. +269 −0 lib/clucumber/vendor/cl-ppcre/ppcre-tests.lisp
  52. +555 −0 lib/clucumber/vendor/cl-ppcre/regex-class-util.lisp
  53. +259 −0 lib/clucumber/vendor/cl-ppcre/regex-class.lisp
  54. +833 −0 lib/clucumber/vendor/cl-ppcre/repetition-closures.lisp
  55. +506 −0 lib/clucumber/vendor/cl-ppcre/scanner.lisp
  56. +172 −0 lib/clucumber/vendor/cl-ppcre/specials.lisp
  57. +37 −0 lib/clucumber/vendor/cl-ppcre/test/packages.lisp
  58. +150 −0 lib/clucumber/vendor/cl-ppcre/test/perl-tests.lisp
  59. +160 −0 lib/clucumber/vendor/cl-ppcre/test/perltest.pl
  60. +14,288 −0 lib/clucumber/vendor/cl-ppcre/test/perltestdata
  61. +3,948 −0 lib/clucumber/vendor/cl-ppcre/test/perltestinput
  62. +349 −0 lib/clucumber/vendor/cl-ppcre/test/simple
  63. +159 −0 lib/clucumber/vendor/cl-ppcre/test/tests.lisp
  64. +80 −0 lib/clucumber/vendor/cl-ppcre/test/unicode-tests.lisp
  65. +107 −0 lib/clucumber/vendor/cl-ppcre/test/unicodetestdata
  66. +14,288 −0 lib/clucumber/vendor/cl-ppcre/testdata
  67. +3,948 −0 lib/clucumber/vendor/cl-ppcre/testinput
  68. +201 −0 lib/clucumber/vendor/cl-ppcre/util.lisp
  69. +7 −0 lib/clucumber/vendor/cl-unicode/CHANGELOG.txt
  70. +135 −0 lib/clucumber/vendor/cl-unicode/alias.lisp
  71. +412 −0 lib/clucumber/vendor/cl-unicode/api.lisp
  72. +133 −0 lib/clucumber/vendor/cl-unicode/build/char-info.lisp
  73. +588 −0 lib/clucumber/vendor/cl-unicode/build/data/BidiMirroring.txt
  74. +202 −0 lib/clucumber/vendor/cl-unicode/build/data/Blocks.txt
  75. +963 −0 lib/clucumber/vendor/cl-unicode/build/data/DerivedAge.txt
  76. +5,878 −0 lib/clucumber/vendor/cl-unicode/build/data/DerivedCoreProperties.txt
  77. +92 −0 lib/clucumber/vendor/cl-unicode/build/data/Jamo.txt
  78. +1,207 −0 lib/clucumber/vendor/cl-unicode/build/data/PropList.txt
  79. +7 −0 lib/clucumber/vendor/cl-unicode/build/data/README.txt
  80. +1,747 −0 lib/clucumber/vendor/cl-unicode/build/data/Scripts.txt
  81. +19,336 −0 lib/clucumber/vendor/cl-unicode/build/data/UnicodeData.txt
  82. +239 −0 lib/clucumber/vendor/cl-unicode/build/dump.lisp
  83. +280 −0 lib/clucumber/vendor/cl-unicode/build/read.lisp
  84. +182 −0 lib/clucumber/vendor/cl-unicode/build/util.lisp
  85. +90 −0 lib/clucumber/vendor/cl-unicode/cl-unicode.asd
  86. +4 −0 lib/clucumber/vendor/cl-unicode/clean.cmd
  87. +54 −0 lib/clucumber/vendor/cl-unicode/conditions.lisp
  88. +120 −0 lib/clucumber/vendor/cl-unicode/derived.lisp
  89. +1,277 −0 lib/clucumber/vendor/cl-unicode/doc/index.html
  90. +20 −0 lib/clucumber/vendor/cl-unicode/hash-tables.lisp
  91. +10 −0 lib/clucumber/vendor/cl-unicode/lists.lisp
  92. +15 −0 lib/clucumber/vendor/cl-unicode/methods.lisp
  93. +76 −0 lib/clucumber/vendor/cl-unicode/packages.lisp
  94. +135 −0 lib/clucumber/vendor/cl-unicode/specials.lisp
  95. +94 −0 lib/clucumber/vendor/cl-unicode/test-functions.lisp
  96. +13,275 −0 lib/clucumber/vendor/cl-unicode/test/derived-properties
  97. +34 −0 lib/clucumber/vendor/cl-unicode/test/packages.lisp
  98. +107 −0 lib/clucumber/vendor/cl-unicode/test/properties
  99. +442 −0 lib/clucumber/vendor/cl-unicode/test/simple
  100. +150 −0 lib/clucumber/vendor/cl-unicode/test/tests.lisp
  101. +274 −0 lib/clucumber/vendor/cl-unicode/util.lisp
  102. +42 −0 lib/clucumber/vendor/lift/.boring
  103. +81 −0 lib/clucumber/vendor/lift/COPYING
  104. +7 −0 lib/clucumber/vendor/lift/RELNOTES
  105. +14 −0 lib/clucumber/vendor/lift/compare/fiveam-tests.lisp
  106. +13 −0 lib/clucumber/vendor/lift/compare/lift-tests.lisp
  107. +45 −0 lib/clucumber/vendor/lift/compare/notes.text
  108. +16 −0 lib/clucumber/vendor/lift/compare/rt-tests.lisp
  109. +15 −0 lib/clucumber/vendor/lift/compare/xlunit-tests.lisp
  110. +7,778 −0 lib/clucumber/vendor/lift/data/beale.list
  111. +7,471 −0 lib/clucumber/vendor/lift/data/shortwords.text
  112. +6,941 −0 lib/clucumber/vendor/lift/data/wordlist-2.text
  113. +6,765 −0 lib/clucumber/vendor/lift/data/wordlist.text
  114. +57 −0 lib/clucumber/vendor/lift/dev/calling.md
  115. +61 −0 lib/clucumber/vendor/lift/dev/changes.lisp
  116. +354 −0 lib/clucumber/vendor/lift/dev/config.lisp
  117. +117 −0 lib/clucumber/vendor/lift/dev/copy-file.lisp
  118. +232 −0 lib/clucumber/vendor/lift/dev/introspection.lisp
  119. +56 −0 lib/clucumber/vendor/lift/dev/lift-interface.lisp
  120. +202 −0 lib/clucumber/vendor/lift/dev/lift-notes.lisp
  121. +45 −0 lib/clucumber/vendor/lift/dev/lift-randomized.lisp
  122. +2,383 −0 lib/clucumber/vendor/lift/dev/lift.lisp
  123. +229 −0 lib/clucumber/vendor/lift/dev/macros.lisp
  124. +156 −0 lib/clucumber/vendor/lift/dev/measuring.lisp
  125. +415 −0 lib/clucumber/vendor/lift/dev/notes.text
  126. +161 −0 lib/clucumber/vendor/lift/dev/packages.lisp
  127. +151 −0 lib/clucumber/vendor/lift/dev/port.lisp
  128. +282 −0 lib/clucumber/vendor/lift/dev/prototypes.lisp
  129. +124 −0 lib/clucumber/vendor/lift/dev/random-testing.lisp
  130. +13 −0 lib/clucumber/vendor/lift/dev/report-locations.lisp
  131. +916 −0 lib/clucumber/vendor/lift/dev/reports.lisp
  132. +242 −0 lib/clucumber/vendor/lift/dev/utilities.lisp
  133. +6 −0 lib/clucumber/vendor/lift/docs/package.lisp
  134. +17 −0 lib/clucumber/vendor/lift/docs/setup.lisp
  135. +289 −0 lib/clucumber/vendor/lift/examples/basic-examples.lisp
  136. +32 −0 lib/clucumber/vendor/lift/examples/random-testing.lisp
  137. +28 −0 lib/clucumber/vendor/lift/lift-documentation.asd
  138. +27 −0 lib/clucumber/vendor/lift/lift-standard.config
  139. +35 −0 lib/clucumber/vendor/lift/lift-test.asd
  140. +77 −0 lib/clucumber/vendor/lift/lift.asd
  141. +14 −0 lib/clucumber/vendor/lift/make/prebuild-script.sh
  142. +152 −0 lib/clucumber/vendor/lift/resources/test-style.css
  143. +12 −0 lib/clucumber/vendor/lift/test/bad-config-1.config
  144. +11 −0 lib/clucumber/vendor/lift/test/bad-config-2.config
  145. +40 −0 lib/clucumber/vendor/lift/test/equality-tests.lisp
  146. +32 −0 lib/clucumber/vendor/lift/test/finding-tests.lisp
  147. +783 −0 lib/clucumber/vendor/lift/test/lift-test.lisp
  148. +54 −0 lib/clucumber/vendor/lift/test/order-of-operations.lisp
  149. +17 −0 lib/clucumber/vendor/lift/test/packages.lisp
  150. +20 −0 lib/clucumber/vendor/lift/test/test-config-files.lisp
  151. +57 −0 lib/clucumber/vendor/lift/test/test-dynamic-variables.lisp
  152. +74 −0 lib/clucumber/vendor/lift/test/test-maximum-problems.lisp
  153. +278 −0 lib/clucumber/vendor/lift/test/test-prototypes.lisp
  154. +37 −0 lib/clucumber/vendor/lift/test/test-timeout.lisp
  155. +62 −0 lib/clucumber/vendor/lift/test/tests-in-progress.lisp
  156. +60 −0 lib/clucumber/vendor/lift/test/testsuite-expects.lisp
  157. +13 −0 lib/clucumber/vendor/lift/timeout/package.lisp
  158. +123 −0 lib/clucumber/vendor/lift/timeout/with-timeout.lisp
  159. BIN lib/clucumber/vendor/lift/website/source/assets/ILC-2003-Presentation.pdf
  160. BIN lib/clucumber/vendor/lift/website/source/assets/ILC-2003-Presentation.swf
  161. BIN lib/clucumber/vendor/lift/website/source/assets/test-framework.pdf
  162. +98 −0 lib/clucumber/vendor/lift/website/source/index.md
  163. +13 −0 lib/clucumber/vendor/lift/website/source/resources/footer.md
  164. +12 −0 lib/clucumber/vendor/lift/website/source/resources/header.md
  165. +2 −0 lib/clucumber/vendor/lift/website/source/resources/navigation.md
  166. +19 −0 lib/clucumber/vendor/lift/website/source/resources/shared-header.md
  167. +15 −0 lib/clucumber/vendor/lift/website/source/resources/ug-footer.md
  168. +14 −0 lib/clucumber/vendor/lift/website/source/resources/ug-header.md
  169. +100 −0 lib/clucumber/vendor/lift/website/source/style.css
  170. 0 lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/.typeAttributes.dict
  171. +1 −0 lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/Contents/PkgInfo
  172. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/Denim.tiff
  173. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/diagram-1.png
  174. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/diagram.png
  175. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/eksl-lm.png
  176. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/index.apxl.gz
  177. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/mt0-0.tiff
  178. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/mt0-1.tiff
  179. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st0.tiff
  180. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st1.tiff
  181. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st10.tiff
  182. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st11.tiff
  183. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st12.tiff
  184. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st13.tiff
  185. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st14.tiff
  186. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st15.tiff
  187. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st16.tiff
  188. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st17.tiff
  189. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st18.tiff
  190. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st19.tiff
  191. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st2.tiff
  192. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st20.tiff
  193. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st21.tiff
  194. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st22.tiff
  195. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st23.tiff
  196. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st24.tiff
  197. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st25.tiff
  198. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st26.tiff
  199. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st27.tiff
  200. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st28.tiff
  201. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st29.tiff
  202. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st3.tiff
  203. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st30.tiff
  204. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st31.tiff
  205. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st4.tiff
  206. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st5.tiff
  207. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st6.tiff
  208. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st7.tiff
  209. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st8.tiff
  210. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/thumbs/st9.tiff
  211. BIN lib/clucumber/vendor/lift/website/stuff/ILC-2003-Presentation.key/warnings-1.png
  212. +34 −0 lib/clucumber/vendor/lift/website/stuff/Temp.lisp
  213. +20 −0 lib/clucumber/vendor/st-json/LICENSE
  214. +177 −0 lib/clucumber/vendor/st-json/index.html
  215. +3 −0 lib/clucumber/vendor/st-json/st-json.asd
  216. +310 −0 lib/clucumber/vendor/st-json/st-json.lisp
  217. +13 −0 lib/clucumber/vendor/trivial-backtrace/.gitignore
  218. +25 −0 lib/clucumber/vendor/trivial-backtrace/COPYING
  219. +127 −0 lib/clucumber/vendor/trivial-backtrace/dev/backtrace.lisp
  220. +10 −0 lib/clucumber/vendor/trivial-backtrace/dev/fallback.lisp
  221. +103 −0 lib/clucumber/vendor/trivial-backtrace/dev/map-backtrace.lisp
  222. +75 −0 lib/clucumber/vendor/trivial-backtrace/dev/mucking.lisp
  223. +13 −0 lib/clucumber/vendor/trivial-backtrace/dev/packages.lisp
  224. +104 −0 lib/clucumber/vendor/trivial-backtrace/dev/utilities.lisp
  225. +35 −0 lib/clucumber/vendor/trivial-backtrace/lift-standard.config
  226. +5 −0 lib/clucumber/vendor/trivial-backtrace/test/packages.lisp
  227. +4 −0 lib/clucumber/vendor/trivial-backtrace/test/test-setup.lisp
  228. +16 −0 lib/clucumber/vendor/trivial-backtrace/test/tests.lisp
  229. +22 −0 lib/clucumber/vendor/trivial-backtrace/trivial-backtrace-test.asd
  230. +35 −0 lib/clucumber/vendor/trivial-backtrace/trivial-backtrace.asd
  231. +80 −0 lib/clucumber/vendor/trivial-backtrace/website/source/index.md
  232. +15 −0 lib/clucumber/vendor/trivial-backtrace/website/source/resources/footer.md
  233. +19 −0 lib/clucumber/vendor/trivial-backtrace/website/source/resources/header.md
  234. +2 −0 lib/clucumber/vendor/trivial-backtrace/website/source/resources/navigation.md
  235. +24 −0 lib/clucumber/vendor/usocket/LICENSE
  236. +9 −0 lib/clucumber/vendor/usocket/Makefile
  237. +177 −0 lib/clucumber/vendor/usocket/README
  238. +17 −0 lib/clucumber/vendor/usocket/TODO
  239. +199 −0 lib/clucumber/vendor/usocket/backend/allegro.lisp
  240. +491 −0 lib/clucumber/vendor/usocket/backend/armedbear.lisp
  241. +260 −0 lib/clucumber/vendor/usocket/backend/clisp.lisp
  242. +266 −0 lib/clucumber/vendor/usocket/backend/cmucl.lisp
  243. +741 −0 lib/clucumber/vendor/usocket/backend/lispworks.lisp
  244. +369 −0 lib/clucumber/vendor/usocket/backend/mcl.lisp
  245. +206 −0 lib/clucumber/vendor/usocket/backend/openmcl.lisp
  246. +424 −0 lib/clucumber/vendor/usocket/backend/sbcl.lisp
  247. +261 −0 lib/clucumber/vendor/usocket/backend/scl.lisp
  248. +227 −0 lib/clucumber/vendor/usocket/condition.lisp
  249. +60 −0 lib/clucumber/vendor/usocket/doc/backends.txt
  250. +136 −0 lib/clucumber/vendor/usocket/doc/design.txt
  251. +18 −0 lib/clucumber/vendor/usocket/notes/abcl-socket.txt
  252. +75 −0 lib/clucumber/vendor/usocket/notes/active-sockets-apis.txt
  253. +73 −0 lib/clucumber/vendor/usocket/notes/address-apis.txt
  254. +46 −0 lib/clucumber/vendor/usocket/notes/allegro-socket.txt
  255. +38 −0 lib/clucumber/vendor/usocket/notes/clisp-sockets.txt
  256. +69 −0 lib/clucumber/vendor/usocket/notes/cmucl-sockets.txt
  257. +20 −0 lib/clucumber/vendor/usocket/notes/errors.txt
  258. +41 −0 lib/clucumber/vendor/usocket/notes/lw-sockets.txt
  259. +27 −0 lib/clucumber/vendor/usocket/notes/openmcl-sockets.txt
  260. +114 −0 lib/clucumber/vendor/usocket/notes/sb-bsd-sockets.txt
  261. +28 −0 lib/clucumber/vendor/usocket/notes/usock-sockets.txt
  262. +82 −0 lib/clucumber/vendor/usocket/package.lisp
  263. +57 −0 lib/clucumber/vendor/usocket/run-usocket-tests.sh
  264. +45 −0 lib/clucumber/vendor/usocket/server.lisp
  265. +10 −0 lib/clucumber/vendor/usocket/test/abcl.conf.in
  266. +10 −0 lib/clucumber/vendor/usocket/test/allegro.conf.in
  267. +10 −0 lib/clucumber/vendor/usocket/test/clisp.conf.in
  268. +10 −0 lib/clucumber/vendor/usocket/test/cmucl.conf.in
  269. +13 −0 lib/clucumber/vendor/usocket/test/package.lisp
  270. +10 −0 lib/clucumber/vendor/usocket/test/sbcl.conf.in
  271. +166 −0 lib/clucumber/vendor/usocket/test/test-usocket.lisp
  272. +10 −0 lib/clucumber/vendor/usocket/test/your-lisp.conf.in
  273. +26 −0 lib/clucumber/vendor/usocket/usocket-test.asd
  274. +37 −0 lib/clucumber/vendor/usocket/usocket.asd
  275. +542 −0 lib/clucumber/vendor/usocket/usocket.lisp
  276. +1 −0 lib/clucumber/vendor/usocket/vendor/kqueue.lisp
  277. +245 −0 lib/clucumber/vendor/usocket/vendor/split-sequence.lisp
  278. +2 −7 self_test/clucumber_setup.rb
View
@@ -34,14 +34,9 @@ In your `features/support/env.rb`, you use something like this:
require 'clucumber'
begin
- @main_clucumber = ClucumberSubprocess.new(File.expand_path("../", File.dirname(__FILE__)),
- :port => 42428)
- at_exit do
- @main_clucumber.kill
- end
-
- @main_clucumber.start <<-LISP
- ;; Put code here that loads your application.
+ ClucumberSubprocess.new(File.expand_path("../", File.dirname(__FILE__)),
+ :port => 42428).listen <<-LISP
+ ;; Put code here that loads your application.
LISP
rescue PTY::ChildExited
puts(@main_clucumber && @main_clucumber.output)
@@ -55,4 +50,4 @@ Then, on the command line, you run cucumber:
And you watch the green or yellow lines zip by.
-To see an example of a test suite that uses clucumber, see [the features directory in cl-beanstalk](http://github.com/antifuchs/cl-beanstalk/tree/master/features/). It comes with steps defined in ruby and Common Lisp.
+To see an example of a test suite that uses clucumber, see [the features directory in cl-beanstalk](http://github.com/antifuchs/cl-beanstalk/tree/master/features/). It comes with steps defined in ruby and Common Lisp.
@@ -8,8 +8,8 @@
end
When /^I start clucumber on port (\d+)$/ do |port|
- @clucumber = ClucumberSubprocess.new(File.join(current_dir, 'features'), :port => port)
- @clucumber.start
+ @clucumber = ClucumberSubprocess.launch(File.join(current_dir, 'features'), :port => port)
+ @clucumber.listen
end
Then /^show me the clucumber output$/ do
@@ -7,7 +7,7 @@
## This may be interesting for the aruba project (if we drop the :
Then /^it should (pass|fail) with exactly:$/ do |pass_fail, exact_output|
- strip_duration(combined_output).should == exact_output
+ strip_duration(combined_output.downcase).should == exact_output.downcase
if pass_fail == 'pass'
Then "the exit status should be 0"
else
View
@@ -6,25 +6,39 @@ class LaunchFailed < RuntimeError; end
attr_reader :output
+ def self.launch(dir, options={})
+ proc = ClucumberSubprocess.new(dir, options)
+ at_exit do
+ proc.kill
+ end
+ proc.run
+ proc
+ end
+
def initialize(dir, options={})
@dir = dir
- lisp = options[:lisp] || ENV['LISP'] || 'sbcl --disable-debugger'
+ @lisp = options[:lisp] || ENV['LISP'] || 'sbcl --disable-debugger'
@port = options[:port] || raise("Need a port to run clucumber on.")
@output = ""
-
+ end
+
+ def run
Dir.chdir(@dir) do
- @out, @in, @pid = PTY.spawn(lisp)
+ @out, @in, @pid = PTY.spawn(@lisp)
end
@reader = Thread.start {
record_output
- }
+ }
+ cluke_dir = File.expand_path("clucumber/", File.dirname(__FILE__))
+ Dir[cluke_dir + '/**/*.fasl'].each do |fasl|
+ FileUtils.rm(fasl)
+ end
@in.puts(<<-LISP)
- (require :asdf)
- (load #p"#{File.expand_path("clucumber/clucumber.asd", File.dirname(__FILE__))}")
+ (load #p"#{File.expand_path("clucumber/clucumber-bootstrap.lisp", File.dirname(__FILE__))}")
LISP
end
- def start(additional_forms="")
+ def listen(additional_forms="")
@in.puts <<-LISP
#{additional_forms}
(asdf:oos 'asdf:load-op :clucumber)
@@ -68,4 +82,12 @@ def alive?
(Process.kill("CONT", @pid) && true) rescue false
end
end
+
+ def vendor_path
+ File.expand_path("../clucumber/vendor/", __FILE__)
+ end
+
+ def vendor_libs
+ Dir[vendor_path + '/*'].map {|dir| File.basename(dir)}
+ end
end
@@ -0,0 +1,32 @@
+(cl:defpackage #:clucumber-bootstrap
+ (:use #:cl))
+
+(cl:in-package #:clucumber-bootstrap)
+
+(defparameter *my-name* *load-truename*)
+(defparameter *vendor-dirs*
+ (mapcar
+ (lambda (potential-dir)
+ (let ((name (pathname-name potential-dir)))
+ (if (and name (not (eql name :unspecific)))
+ (make-pathname :directory `(,@(pathname-directory potential-dir)
+ ,name))
+ potential-dir)))
+ (directory (merge-pathnames (make-pathname :directory `(,@(pathname-directory *my-name*)
+ "vendor")
+ :name :wild)))))
+
+(defun vendor-dir-to-system-name (dir)
+ (car (last (pathname-directory dir))))
+
+(require :asdf)
+
+(loop for vendor-dir in *vendor-dirs*
+ for system-name = (vendor-dir-to-system-name vendor-dir)
+ unless (asdf:find-system system-name nil)
+ do (format *trace-output* ";; Loading bundled ~A~%" system-name)
+ and do (load (merge-pathnames (make-pathname :name system-name
+ :type "asd")
+ vendor-dir)))
+
+(load (merge-pathnames #p"clucumber.asd" *load-truename*))
@@ -0,0 +1,26 @@
+Version 0.2.1
+2008-07-25
+Fixed typo in HTML documentation
+
+Version 0.2.0
+2008-07-24
+Base Unicode support on CL-UNICODE
+Add new CL-PPCRE special characters for named registers and named properties
+Re-architecture test suite
+
+Version 0.1.2
+2004-12-16
+Added hyperdoc support
+Added :CL-INTERPOL to *FEATURES*
+Typo fixes in doc/index.html
+
+Version 0.1.1
+2003-12-21
+Fixed an embarrassing bug where COLLECTOR was re-used in read.lisp (reported by Hans H�bner)
+More tests, better failure reporting
+Tried to increase readability of docs
+Mentioned Debian and Gentoo in docs
+
+Version 0.1.0
+2003-10-22
+Initial release
@@ -0,0 +1,39 @@
+Complete documentation for CL-INTERPOL can be found in the 'doc'
+directory.
+
+CL-INTERPOL also supports Nikodemus Siivola's HYPERDOC, see
+<http://common-lisp.net/project/hyperdoc/> and
+<http://www.cliki.net/hyperdoc>.
+
+1. Installation
+
+1.1. Probably the easiest way is
+
+ (load "/path/to/cl-interpol/load.lisp")
+
+ This should compile and load CL-INTERPOL on most Common Lisp
+ implementations.
+
+1.2. With MK:DEFSYSTEM you can make a symbolic link from
+ 'cl-interpol.system' and 'cl-interpol-test.system' to your central registry
+ (which by default is in '/usr/local/lisp/Registry/') and then issue
+ the command
+
+ (mk:compile-system "cl-interpol")
+
+ Note that this relies on TRUENAME returning the original file a
+ symbolic link is pointing to. This will only work with AllegroCL
+ 6.2 if you've applied all patches with (SYS:UPDATE-ALLEGRO).
+
+1.3. You can also use ASDF instead of MK:DEFSYSTEM in a similar way
+ (use the .asd files instead of the .system files).
+
+In order to actually use CL-INTERPOL you have to enable its reader
+syntax with CL-INTERPOL:ENABLE-INTERPOL-SYNTAX - see the docs.
+
+2. Test
+
+For a quick test load the file "test.lisp" after installing
+CL-INTERPOL. (Note: SBCL will emit tons of compiler notes when loading
+"test.lisp" but it will eventually, after a couple of minutes, pass
+all tests - at least it does for me with 0.8.4.8.)
@@ -0,0 +1,55 @@
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-INTERPOL; Base: 10 -*-
+;;; $Header: /usr/local/cvsrep/cl-interpol/alias.lisp,v 1.3 2008/07/23 14:41:37 edi Exp $
+
+;;; Copyright (c) 2003-2008, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(in-package :cl-interpol)
+
+;;; define some aliases
+(loop for (alias . name) in '(("LINE FEED" . "LINE FEED \(LF)")
+ ("FORM FEED" . "FORM FEED \(FF)")
+ ("CARRIAGE RETURN" . "CARRIAGE RETURN \(CR)")
+ ("NEXT LINE" . "NEXT LINE \(NEL)")
+ ("LF" . "LINE FEED \(LF)")
+ ("FF" . "FORM FEED \(FF)")
+ ("CR" . "CARRIAGE RETURN \(CR)")
+ ("NEL" . "NEXT LINE \(NEL)")
+ ("ZWNJ" . "ZERO WIDTH NON-JOINER")
+ ("ZWJ" . "ZERO WIDTH JOINER")
+ ("BYTE ORDER MARK" . "ZERO WIDTH NO-BREAK SPACE")
+ ("BOM" . "BYTE ORDER MARK")
+ ("HORIZONTAL TABULATION" . "CHARACTER TABULATION")
+ ("VERTICAL TABULATION" . "LINE TABULATION")
+ ("FILE SEPARATOR" . "INFORMATION SEPARATOR FOUR")
+ ("GROUP SEPARATOR" . "INFORMATION SEPARATOR THREE")
+ ("RECORD SEPARATOR" . "INFORMATION SEPARATOR TWO")
+ ("UNIT SEPARATOR" . "INFORMATION SEPARATOR ONE")
+ ("PARTIAL LINE DOWN" . "PARTIAL LINE FORWARD")
+ ("PARTIAL LINE UP" . "PARTIAL LINE BACKWARD"))
+ for existing-char = (character-named name)
+ when existing-char
+ do (setf (gethash (canonicalize-name alias) *unicode-aliases*) existing-char))
@@ -0,0 +1,56 @@
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
+;;; $Header: /usr/local/cvsrep/cl-interpol/cl-interpol.asd,v 1.11 2008/07/25 12:51:58 edi Exp $
+
+;;; Copyright (c) 2003-2008, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(in-package :cl-user)
+
+(defpackage :cl-interpol-asd
+ (:use :cl :asdf))
+
+(in-package :cl-interpol-asd)
+
+(defsystem :cl-interpol
+ :version "0.2.1"
+ :serial t
+ :depends-on (:cl-unicode)
+ :components ((:file "packages")
+ (:file "specials")
+ (:file "util")
+ (:file "alias")
+ (:file "read")))
+
+(defsystem :cl-interpol-test
+ :depends-on (:cl-interpol :flexi-streams)
+ :components ((:module "test"
+ :serial t
+ :components ((:file "packages")
+ (:file "tests")))))
+
+(defmethod perform ((o test-op) (c (eql (find-system :cl-interpol))))
+ (operate 'load-op :cl-interpol-test)
+ (funcall (intern (symbol-name :run-all-tests) (find-package :cl-interpol-test))))
@@ -0,0 +1,43 @@
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
+;;; $Header: /usr/local/cvsrep/cl-interpol/cl-interpol.system,v 1.1 2003/10/16 23:03:54 edi Exp $
+
+;;; Copyright (c) 2003, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(in-package #:cl-user)
+
+(defparameter *cl-interpol-base-directory*
+ (make-pathname :name nil :type nil :version nil
+ :defaults (parse-namestring *load-truename*)))
+
+(mk:defsystem #:cl-interpol
+ :source-pathname *cl-interpol-base-directory*
+ :source-extension "lisp"
+ :components ((:file "packages")
+ (:file "specials" :depends-on ("packages"))
+ (:file "util" :depends-on ("specials"))
+ (:file "unicode" :depends-on ("specials"))
+ (:file "read" :depends-on ("unicode" "util"))))
Oops, something went wrong.

0 comments on commit 6abd95c

Please sign in to comment.