Browse files

Added test/include directory

  • Loading branch information...
1 parent 4706f0f commit b2e9c67bccd90759f3a8d7b1d5530ab1d3c8c53e @auser committed Aug 17, 2009
Showing with 19,643 additions and 1 deletion.
  1. +0 −1 .gitignore
  2. +35 −0 test/include/eunit/.svn/all-wcprops
  3. +103 −0 test/include/eunit/.svn/entries
  4. +1 −0 test/include/eunit/.svn/format
  5. +2 −0 test/include/eunit/.svn/text-base/AUTHORS.svn-base
  6. +504 −0 test/include/eunit/.svn/text-base/COPYING.svn-base
  7. +28 −0 test/include/eunit/.svn/text-base/Makefile.svn-base
  8. +9 −0 test/include/eunit/.svn/text-base/sys.config.svn-base
  9. +1 −0 test/include/eunit/.svn/text-base/vsn.mk.svn-base
  10. +2 −0 test/include/eunit/AUTHORS
  11. +504 −0 test/include/eunit/COPYING
  12. +28 −0 test/include/eunit/Makefile
  13. +71 −0 test/include/eunit/doc/.svn/all-wcprops
  14. +168 −0 test/include/eunit/doc/.svn/entries
  15. +1 −0 test/include/eunit/doc/.svn/format
  16. +5 −0 test/include/eunit/doc/.svn/prop-base/erlang.png.svn-base
  17. +5 −0 test/include/eunit/doc/.svn/prop-base/eunit.html.svn-base
  18. +9 −0 test/include/eunit/doc/.svn/prop-base/eunit_surefire.html.svn-base
  19. +9 −0 test/include/eunit/doc/.svn/prop-base/file_monitor.html.svn-base
  20. +5 −0 test/include/eunit/doc/.svn/prop-base/index.html.svn-base
  21. +5 −0 test/include/eunit/doc/.svn/prop-base/modules-frame.html.svn-base
  22. +5 −0 test/include/eunit/doc/.svn/prop-base/overview-summary.html.svn-base
  23. +5 −0 test/include/eunit/doc/.svn/prop-base/packages-frame.html.svn-base
  24. +3 −0 test/include/eunit/doc/.svn/text-base/edoc-info.svn-base
  25. BIN test/include/eunit/doc/.svn/text-base/erlang.png.svn-base
  26. +71 −0 test/include/eunit/doc/.svn/text-base/eunit.html.svn-base
  27. +78 −0 test/include/eunit/doc/.svn/text-base/eunit_surefire.html.svn-base
  28. +372 −0 test/include/eunit/doc/.svn/text-base/file_monitor.html.svn-base
  29. +17 −0 test/include/eunit/doc/.svn/text-base/index.html.svn-base
  30. +14 −0 test/include/eunit/doc/.svn/text-base/modules-frame.html.svn-base
  31. +1,032 −0 test/include/eunit/doc/.svn/text-base/overview-summary.html.svn-base
  32. +1,028 −0 test/include/eunit/doc/.svn/text-base/overview.edoc.svn-base
  33. +11 −0 test/include/eunit/doc/.svn/text-base/packages-frame.html.svn-base
  34. +55 −0 test/include/eunit/doc/.svn/text-base/stylesheet.css.svn-base
  35. +3 −0 test/include/eunit/doc/edoc-info
  36. BIN test/include/eunit/doc/erlang.png
  37. +71 −0 test/include/eunit/doc/eunit.html
  38. +78 −0 test/include/eunit/doc/eunit_surefire.html
  39. +372 −0 test/include/eunit/doc/file_monitor.html
  40. +17 −0 test/include/eunit/doc/index.html
  41. +14 −0 test/include/eunit/doc/modules-frame.html
  42. +1,032 −0 test/include/eunit/doc/overview-summary.html
  43. +1,028 −0 test/include/eunit/doc/overview.edoc
  44. +11 −0 test/include/eunit/doc/packages-frame.html
  45. +55 −0 test/include/eunit/doc/stylesheet.css
  46. +5 −0 test/include/eunit/ebin/.svn/all-wcprops
  47. +8 −0 test/include/eunit/ebin/.svn/dir-prop-base
  48. +28 −0 test/include/eunit/ebin/.svn/entries
  49. +1 −0 test/include/eunit/ebin/.svn/format
  50. +20 −0 test/include/eunit/ebin/eunit.app
  51. +1 −0 test/include/eunit/ebin/eunit.appup
  52. +23 −0 test/include/eunit/examples/.svn/all-wcprops
  53. +66 −0 test/include/eunit/examples/.svn/entries
  54. +1 −0 test/include/eunit/examples/.svn/format
  55. +5 −0 test/include/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base
  56. +5 −0 test/include/eunit/examples/.svn/prop-base/fib.erl.svn-base
  57. +339 −0 test/include/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base
  58. +19 −0 test/include/eunit/examples/.svn/text-base/fib.erl.svn-base
  59. +1 −0 test/include/eunit/examples/.svn/text-base/tests.txt.svn-base
  60. +339 −0 test/include/eunit/examples/eunit_examples.erl
  61. +19 −0 test/include/eunit/examples/fib.erl
  62. +1 −0 test/include/eunit/examples/tests.txt
  63. +11 −0 test/include/eunit/include/.svn/all-wcprops
  64. +41 −0 test/include/eunit/include/.svn/entries
  65. +1 −0 test/include/eunit/include/.svn/format
  66. +5 −0 test/include/eunit/include/.svn/prop-base/eunit.hrl.svn-base
  67. +417 −0 test/include/eunit/include/.svn/text-base/eunit.hrl.svn-base
  68. +417 −0 test/include/eunit/include/eunit.hrl
  69. +131 −0 test/include/eunit/src/.svn/all-wcprops
  70. +298 −0 test/include/eunit/src/.svn/entries
  71. +1 −0 test/include/eunit/src/.svn/format
  72. +5 −0 test/include/eunit/src/.svn/prop-base/autoload.erl.svn-base
  73. +5 −0 test/include/eunit/src/.svn/prop-base/code_monitor.erl.svn-base
  74. +5 −0 test/include/eunit/src/.svn/prop-base/eunit.erl.svn-base
  75. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base
  76. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_data.erl.svn-base
  77. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base
  78. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base
  79. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_listener.erl.svn-base
  80. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base
  81. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base
  82. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_server.erl.svn-base
  83. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base
  84. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_surefire.erl.svn-base
  85. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_test.erl.svn-base
  86. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base
  87. +5 −0 test/include/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base
  88. +5 −0 test/include/eunit/src/.svn/prop-base/file_monitor.erl.svn-base
  89. +5 −0 test/include/eunit/src/.svn/prop-base/file_monitor_tests.erl.svn-base
  90. +49 −0 test/include/eunit/src/.svn/text-base/Makefile.svn-base
  91. +388 −0 test/include/eunit/src/.svn/text-base/autoload.erl.svn-base
  92. +243 −0 test/include/eunit/src/.svn/text-base/code_monitor.erl.svn-base
  93. +20 −0 test/include/eunit/src/.svn/text-base/eunit.app.src.svn-base
  94. +1 −0 test/include/eunit/src/.svn/text-base/eunit.appup.src.svn-base
  95. +250 −0 test/include/eunit/src/.svn/text-base/eunit.erl.svn-base
  96. +104 −0 test/include/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base
  97. +735 −0 test/include/eunit/src/.svn/text-base/eunit_data.erl.svn-base
  98. +48 −0 test/include/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base
  99. +576 −0 test/include/eunit/src/.svn/text-base/eunit_lib.erl.svn-base
  100. +178 −0 test/include/eunit/src/.svn/text-base/eunit_listener.erl.svn-base
  101. +661 −0 test/include/eunit/src/.svn/text-base/eunit_proc.erl.svn-base
  102. +186 −0 test/include/eunit/src/.svn/text-base/eunit_serial.erl.svn-base
  103. +341 −0 test/include/eunit/src/.svn/text-base/eunit_server.erl.svn-base
  104. +67 −0 test/include/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base
  105. +417 −0 test/include/eunit/src/.svn/text-base/eunit_surefire.erl.svn-base
  106. +382 −0 test/include/eunit/src/.svn/text-base/eunit_test.erl.svn-base
  107. +42 −0 test/include/eunit/src/.svn/text-base/eunit_tests.erl.svn-base
  108. +257 −0 test/include/eunit/src/.svn/text-base/eunit_tty.erl.svn-base
  109. +1,069 −0 test/include/eunit/src/.svn/text-base/file_monitor.erl.svn-base
  110. +622 −0 test/include/eunit/src/.svn/text-base/file_monitor_tests.erl.svn-base
  111. +49 −0 test/include/eunit/src/Makefile
  112. +388 −0 test/include/eunit/src/autoload.erl
  113. +243 −0 test/include/eunit/src/code_monitor.erl
  114. +20 −0 test/include/eunit/src/eunit.app.src
  115. +1 −0 test/include/eunit/src/eunit.appup.src
  116. +250 −0 test/include/eunit/src/eunit.erl
  117. +104 −0 test/include/eunit/src/eunit_autoexport.erl
  118. +735 −0 test/include/eunit/src/eunit_data.erl
  119. +48 −0 test/include/eunit/src/eunit_internal.hrl
  120. +576 −0 test/include/eunit/src/eunit_lib.erl
  121. +178 −0 test/include/eunit/src/eunit_listener.erl
  122. +661 −0 test/include/eunit/src/eunit_proc.erl
  123. +186 −0 test/include/eunit/src/eunit_serial.erl
  124. +341 −0 test/include/eunit/src/eunit_server.erl
  125. +67 −0 test/include/eunit/src/eunit_striptests.erl
Sorry, we could not display the entire diff because it was too big.
View
1 .gitignore
@@ -6,7 +6,6 @@ pkg
erl_crash.dump
logs
userapp.mnesia
-test/include
ebin/*.boot
ebin/*.rel
ebin/*.script
View
35 test/include/eunit/.svn/all-wcprops
@@ -0,0 +1,35 @@
+K 25
+svn:wc:ra_dav:version-url
+V 34
+/contribs/!svn/ver/344/trunk/eunit
+END
+sys.config
+K 25
+svn:wc:ra_dav:version-url
+V 43
+/contribs/!svn/ver/2/trunk/eunit/sys.config
+END
+AUTHORS
+K 25
+svn:wc:ra_dav:version-url
+V 42
+/contribs/!svn/ver/188/trunk/eunit/AUTHORS
+END
+COPYING
+K 25
+svn:wc:ra_dav:version-url
+V 42
+/contribs/!svn/ver/103/trunk/eunit/COPYING
+END
+vsn.mk
+K 25
+svn:wc:ra_dav:version-url
+V 41
+/contribs/!svn/ver/341/trunk/eunit/vsn.mk
+END
+Makefile
+K 25
+svn:wc:ra_dav:version-url
+V 43
+/contribs/!svn/ver/344/trunk/eunit/Makefile
+END
View
103 test/include/eunit/.svn/entries
@@ -0,0 +1,103 @@
+8
+
+dir
+344
+http://svn.process-one.net/contribs/trunk/eunit
+http://svn.process-one.net/contribs
+
+
+
+2009-05-24T20:30:32.982910Z
+344
+rcarlsson
+
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+5c723cce-c907-0410-9aa2-ab8348fff7a4
+
+sys.config
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+744963246b247a2697b2d20bd2b61b9d
+2005-12-13T09:23:28.451293Z
+1
+mremond
+
+include
+dir
+
+doc
+dir
+
+AUTHORS
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+9258f48f6d3acb437f24458ac709f5e1
+2007-04-05T21:05:53.050552Z
+188
+rcarlsson
+
+src
+dir
+
+COPYING
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+dcf3c825659e82539645da41a7908589
+2006-05-06T17:19:27.890502Z
+103
+rcarlsson
+
+vsn.mk
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+cfaa568e2b9283c498165bbb21d7f5e5
+2009-05-11T09:13:52.245870Z
+341
+rcarlsson
+
+ebin
+dir
+
+Makefile
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+627eb3ebd5325f32edc6e91a22c982e5
+2009-05-24T20:30:32.982910Z
+344
+rcarlsson
+
+examples
+dir
+
View
1 test/include/eunit/.svn/format
@@ -0,0 +1 @@
+8
View
2 test/include/eunit/.svn/text-base/AUTHORS.svn-base
@@ -0,0 +1,2 @@
+Richard Carlsson <richardc@it.uu.se>
+Micka?l R?mond <mickael.remond@process-one.net>
View
504 test/include/eunit/.svn/text-base/COPYING.svn-base
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
View
28 test/include/eunit/.svn/text-base/Makefile.svn-base
@@ -0,0 +1,28 @@
+
+APPNAME=eunit
+
+SUB_DIRECTORIES = src
+
+include vsn.mk
+
+DOC_OPTS={def,{version,\"$(EUNIT_VSN)\"}}
+
+
+all: subdirs
+
+subdirs:
+ @for d in $(SUB_DIRECTORIES); do \
+ (cd $$d; $(MAKE)); \
+ done
+
+clean:
+ @for d in $(SUB_DIRECTORIES); do \
+ (cd $$d; $(MAKE) clean); \
+ done
+
+docs:
+ erl -noshell -eval "edoc:application($(APPNAME), \".\", [$(DOC_OPTS)])" -s init stop
+
+test: subdirs
+ @echo Testing...
+ @erl -noshell -pa ebin -eval 'eunit:test({application,eunit})' -s init stop
View
9 test/include/eunit/.svn/text-base/sys.config.svn-base
@@ -0,0 +1,9 @@
+[
+ {kernel,
+ [{error_logger,
+ {file, "priv/eunit.log"}}]},
+ {sasl,
+ [{sasl_error_logger, false},
+ {error_logger_mf_dir, "."},
+ {error_logger_mf_maxfiles, 20},
+ {error_logger_mf_maxbytes, 1000000}]}].
View
1 test/include/eunit/.svn/text-base/vsn.mk.svn-base
@@ -0,0 +1 @@
+EUNIT_VSN = 2.1.1
View
2 test/include/eunit/AUTHORS
@@ -0,0 +1,2 @@
+Richard Carlsson <richardc@it.uu.se>
+Mickaël Rémond <mickael.remond@process-one.net>
View
504 test/include/eunit/COPYING
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
View
28 test/include/eunit/Makefile
@@ -0,0 +1,28 @@
+
+APPNAME=eunit
+
+SUB_DIRECTORIES = src
+
+include vsn.mk
+
+DOC_OPTS={def,{version,\"$(EUNIT_VSN)\"}}
+
+
+all: subdirs
+
+subdirs:
+ @for d in $(SUB_DIRECTORIES); do \
+ (cd $$d; $(MAKE)); \
+ done
+
+clean:
+ @for d in $(SUB_DIRECTORIES); do \
+ (cd $$d; $(MAKE) clean); \
+ done
+
+docs:
+ erl -noshell -eval "edoc:application($(APPNAME), \".\", [$(DOC_OPTS)])" -s init stop
+
+test: subdirs
+ @echo Testing...
+ @erl -noshell -pa ebin -eval 'eunit:test({application,eunit})' -s init stop
View
71 test/include/eunit/doc/.svn/all-wcprops
@@ -0,0 +1,71 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/contribs/!svn/ver/344/trunk/eunit/doc
+END
+overview.edoc
+K 25
+svn:wc:ra_dav:version-url
+V 52
+/contribs/!svn/ver/337/trunk/eunit/doc/overview.edoc
+END
+stylesheet.css
+K 25
+svn:wc:ra_dav:version-url
+V 53
+/contribs/!svn/ver/172/trunk/eunit/doc/stylesheet.css
+END
+edoc-info
+K 25
+svn:wc:ra_dav:version-url
+V 48
+/contribs/!svn/ver/338/trunk/eunit/doc/edoc-info
+END
+modules-frame.html
+K 25
+svn:wc:ra_dav:version-url
+V 57
+/contribs/!svn/ver/338/trunk/eunit/doc/modules-frame.html
+END
+overview-summary.html
+K 25
+svn:wc:ra_dav:version-url
+V 60
+/contribs/!svn/ver/344/trunk/eunit/doc/overview-summary.html
+END
+eunit.html
+K 25
+svn:wc:ra_dav:version-url
+V 49
+/contribs/!svn/ver/344/trunk/eunit/doc/eunit.html
+END
+file_monitor.html
+K 25
+svn:wc:ra_dav:version-url
+V 56
+/contribs/!svn/ver/344/trunk/eunit/doc/file_monitor.html
+END
+packages-frame.html
+K 25
+svn:wc:ra_dav:version-url
+V 58
+/contribs/!svn/ver/219/trunk/eunit/doc/packages-frame.html
+END
+index.html
+K 25
+svn:wc:ra_dav:version-url
+V 49
+/contribs/!svn/ver/219/trunk/eunit/doc/index.html
+END
+erlang.png
+K 25
+svn:wc:ra_dav:version-url
+V 49
+/contribs/!svn/ver/219/trunk/eunit/doc/erlang.png
+END
+eunit_surefire.html
+K 25
+svn:wc:ra_dav:version-url
+V 58
+/contribs/!svn/ver/344/trunk/eunit/doc/eunit_surefire.html
+END
View
168 test/include/eunit/doc/.svn/entries
@@ -0,0 +1,168 @@
+8
+
+dir
+344
+http://svn.process-one.net/contribs/trunk/eunit/doc
+http://svn.process-one.net/contribs
+
+
+
+2009-05-24T20:30:32.982910Z
+344
+rcarlsson
+
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+5c723cce-c907-0410-9aa2-ab8348fff7a4
+
+overview.edoc
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+d64369e4a2f0f246fa94d0ff4d2ae67d
+2009-03-09T08:38:28.666834Z
+337
+rcarlsson
+
+stylesheet.css
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+6e11b8ef1d68117868228d9fd1e4fce9
+2007-03-22T19:20:34.421238Z
+172
+rcarlsson
+
+edoc-info
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+862db98e9dd0b9d2a3f7a5e04ead01ff
+2009-04-05T13:37:19.226263Z
+338
+rcarlsson
+
+modules-frame.html
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+7226abfde933d076958ca5efd5d5ed8d
+2009-04-05T13:37:19.226263Z
+338
+rcarlsson
+has-props
+
+overview-summary.html
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+f3aafe59215873536913de8d00ced9fc
+2009-05-24T20:30:32.982910Z
+344
+rcarlsson
+has-props
+
+eunit.html
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+6858b81ed0a983a69a5513c6f26bd491
+2009-05-24T20:30:32.982910Z
+344
+rcarlsson
+has-props
+
+file_monitor.html
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+dff53d1305e6bfc41b29b8f9acbf0414
+2009-05-24T20:30:32.982910Z
+344
+rcarlsson
+has-props
+
+packages-frame.html
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+a720dd0c1a9a393f3ab4208082c2357b
+2007-05-10T11:49:35.930693Z
+219
+rcarlsson
+has-props
+
+index.html
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+71189e0120cccc4749a4960b5dae52a2
+2007-05-10T11:49:35.930693Z
+219
+rcarlsson
+has-props
+
+erlang.png
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+f6077f849b23033f1533877a2f236bd6
+2007-05-10T11:49:35.930693Z
+219
+rcarlsson
+has-props
+
+eunit_surefire.html
+file
+
+
+
+
+2009-06-27T00:10:44.000000Z
+9a770ff150dd2663cdc70a7b1352047e
+2009-05-24T20:30:32.982910Z
+344
+rcarlsson
+has-props
+
View
1 test/include/eunit/doc/.svn/format
@@ -0,0 +1 @@
+8
View
5 test/include/eunit/doc/.svn/prop-base/erlang.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 9
+image/png
+END
View
5 test/include/eunit/doc/.svn/prop-base/eunit.html.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 9
+text/html
+END
View
9 test/include/eunit/doc/.svn/prop-base/eunit_surefire.html.svn-base
@@ -0,0 +1,9 @@
+K 13
+svn:eol-style
+V 6
+native
+K 13
+svn:mime-type
+V 9
+text/html
+END
View
9 test/include/eunit/doc/.svn/prop-base/file_monitor.html.svn-base
@@ -0,0 +1,9 @@
+K 13
+svn:eol-style
+V 6
+native
+K 13
+svn:mime-type
+V 9
+text/html
+END
View
5 test/include/eunit/doc/.svn/prop-base/index.html.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 9
+text/html
+END
View
5 test/include/eunit/doc/.svn/prop-base/modules-frame.html.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 9
+text/html
+END
View
5 test/include/eunit/doc/.svn/prop-base/overview-summary.html.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 9
+text/html
+END
View
5 test/include/eunit/doc/.svn/prop-base/packages-frame.html.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 9
+text/html
+END
View
3 test/include/eunit/doc/.svn/text-base/edoc-info.svn-base
@@ -0,0 +1,3 @@
+{application,eunit}.
+{packages,[]}.
+{modules,[eunit,eunit_surefire,file_monitor]}.
View
BIN test/include/eunit/doc/.svn/text-base/erlang.png.svn-base
Binary file not shown.
View
71 test/include/eunit/doc/.svn/text-base/eunit.html.svn-base
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module eunit</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module eunit</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>This module is the main EUnit user interface.
+<p>Copyright � 2004-2009 Micka�l R�mond, Richard Carlsson</p>
+
+<p><b>Version:</b> 2.1.1, May 24 2009 22:28:53</p>
+<p><b>Authors:</b> Micka�l R�mond (<a href="mailto:mickael.remond@process-one.net"><tt>mickael.remond@process-one.net</tt></a>) [<em>web site:</em> <tt><a href="http://www.process-one.net/" target="_top">http://www.process-one.net/</a></tt>], Richard Carlsson (<a href="mailto:richardc@it.uu.se"><tt>richardc@it.uu.se</tt></a>) [<em>web site:</em> <tt><a href="http://user.it.uu.se/~richardc/" target="_top">http://user.it.uu.se/~richardc/</a></tt>].</p>
+
+<h2><a name="description">Description</a></h2>This module is the main EUnit user interface.
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#start-0">start/0</a></td><td>Starts the EUnit server.</td></tr>
+<tr><td valign="top"><a href="#stop-0">stop/0</a></td><td>Stops the EUnit server.</td></tr>
+<tr><td valign="top"><a href="#test-1">test/1</a></td><td>Equivalent to <a href="#test-2"><tt>test(Tests, [])</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#test-2">test/2</a></td><td>Runs a set of tests.</td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="start-0">start/0</a></h3>
+<div class="spec">
+<p><tt>start() -&gt; any()</tt></p>
+</div><p>Starts the EUnit server. Normally, you don't need to call this
+ function; it is started automatically.</p>
+
+<h3 class="function"><a name="stop-0">stop/0</a></h3>
+<div class="spec">
+<p><tt>stop() -&gt; any()</tt></p>
+</div><p>Stops the EUnit server. Normally, you don't need to call this
+ function.</p>
+
+<h3 class="function"><a name="test-1">test/1</a></h3>
+<div class="spec">
+<p><tt>test(Tests) -&gt; any()</tt></p>
+</div><p>Equivalent to <a href="#test-2"><tt>test(Tests, [])</tt></a>.</p>
+
+
+<h3 class="function"><a name="test-2">test/2</a></h3>
+<div class="spec">
+<p><tt>test(Tests::term(), Options::[term()]) -&gt; ok | {error, term()}</tt></p>
+</div><p><p>Runs a set of tests. The format of <code>Tests</code> is described in the
+ section <a href="overview-summary.html#EUnit_test_representation">EUnit test
+ representation</a> of the overview.</p>
+
+ Example: <pre> eunit:test(fred)</pre><p> runs all tests in the module <code>fred</code>
+ and also any tests in the module <code>fred_tests</code>, if that module exists.</p>
+
+ Options:
+ <dl>
+ <dt><code>verbose</code></dt>
+ <dd>Displays more details about the running tests.</dd>
+ </dl>
+
+ Options in the environment variable EUNIT are also included last in
+ the option list, i.e., have lower precedence than those in <code>Options</code>.</p>
+<p><b>See also:</b> <a href="#test-1">test/1</a>.</p>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, May 24 2009, 22:28:53.</i></p>
+</body>
+</html>
View
78 test/include/eunit/doc/.svn/text-base/eunit_surefire.html.svn-base
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module eunit_surefire</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module eunit_surefire</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Surefire reports for EUnit (Format used by Maven and Atlassian
+Bamboo for example to integrate test results).
+<p>Copyright � 2009 Micka�l R�mond, Paul Guyot</p>
+
+<p><b>Behaviours:</b> <a href="eunit_listener.html"><tt>eunit_listener</tt></a>.</p>
+<p><b>Authors:</b> Micka�l R�mond (<a href="mailto:mremond@process-one.net"><tt>mremond@process-one.net</tt></a>).</p>
+<p><b>See also:</b> <a href="eunit.html">eunit</a>.</p>
+
+<h2><a name="description">Description</a></h2><p>Surefire reports for EUnit (Format used by Maven and Atlassian
+Bamboo for example to integrate test results). Based on initial code
+from Paul Guyot.</p>
+
+ Example: Generate XML result file in the current directory:
+ <pre> eunit:test([fib, eunit_examples],
+ [{report,{eunit_surefire,[{dir,"."}]}}]).</pre>
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#handle_begin-3">handle_begin/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#handle_cancel-3">handle_cancel/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#handle_end-3">handle_end/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#init-1">init/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#start-0">start/0</a></td><td></td></tr>
+<tr><td valign="top"><a href="#start-1">start/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#terminate-2">terminate/2</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="handle_begin-3">handle_begin/3</a></h3>
+<div class="spec">
+<p><tt>handle_begin(X1, Data, St) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="handle_cancel-3">handle_cancel/3</a></h3>
+<div class="spec">
+<p><tt>handle_cancel(X1, Data, St) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="handle_end-3">handle_end/3</a></h3>
+<div class="spec">
+<p><tt>handle_end(X1, Data, St) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="init-1">init/1</a></h3>
+<div class="spec">
+<p><tt>init(Options) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="start-0">start/0</a></h3>
+<div class="spec">
+<p><tt>start() -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="start-1">start/1</a></h3>
+<div class="spec">
+<p><tt>start(Options) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="terminate-2">terminate/2</a></h3>
+<div class="spec">
+<p><tt>terminate(X1, St) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, May 24 2009, 22:28:53.</i></p>
+</body>
+</html>
View
372 test/include/eunit/doc/.svn/text-base/file_monitor.html.svn-base
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module file_monitor</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module file_monitor</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Erlang file monitoring service.
+<p>Copyright � 2006-2009 Richard Carlsson</p>
+
+<p><b>Behaviours:</b> <a href="gen_server.html"><tt>gen_server</tt></a>.</p>
+<p><b>Authors:</b> Richard Carlsson (<a href="mailto:richardc@it.uu.se"><tt>richardc@it.uu.se</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2><p>Erlang file monitoring service</p>
+
+ <p>The behaviour of this service is inspired by the open source FAM
+ daemon (<a href="http://oss.sgi.com/projects/fam/" target="_top"><tt>http://oss.sgi.com/projects/fam/</tt></a>). It allows file system
+paths to be monitored, so that a message will be sent to the client
+process whenever a status change is detected. Currently, the only
+supported method of detection is by regular polling by the server.
+While it is not optimal, polling has less overhead than might be
+expected, and is portable across platforms. The polling interval can
+be adjusted; by default the server polls all monitored paths every 5
+seconds. Recursive (automatic) monitoring is supported. The server
+keeps track of its client processes, and removes all their monitors
+if they should die.</p>
+
+ <h3><a name="Event_messages">Event messages</a></h3>
+
+ When a new monitor is set up, or a change is detected, an event
+ message is sent to the client. These have the following general form:
+ <pre><code>{file_monitor, Ref::<a href="#type-monitor">monitor()</a>, Event}</code></pre>
+ where <code>Ref</code> is the monitor reference returned when the monitor was
+ set up, and <code>Event</code> is one of the following:
+ <ul>
+ <li><code>{found, Path::binary(), Type, Info::#file_info{}, Entries::[{added | deleted, Name::binary()}]}</code></li>
+ <li><code>{changed, Path::binary(), Type, Info::#file_info{}, Entries::[{added | deleted, Name::binary()}]}</code></li>
+ <li><code>{error, Path::binary(), Type, PosixError::atom()}</code></li>
+ </ul><p>
+ where <code>Path</code> is the watched path (as a binary), <code>Type</code> is the type of
+ monitoring being performed (either <code>file</code> or <code>directory</code>), <code>Info</code> is
+ a <code>file_info</code> record as defined in <code>kernel/include/file.hrl</code>, and
+ <code>Entries</code> is a list of tuples <code>{added, binary()}</code> and <code>{deleted,
+ binary()}</code> describing changes to the directory entries if <code>Type</code> is
+ <code>directory</code>, otherwise this is always the empty list. For a <code>found</code>
+ event, all entries are <code>{added, Name}</code>.</p>
+
+ <p>A <code>found</code> event is sent when a monitor is initially set up, if the
+ path can be read. After that, whenever a change in status is
+ detected, a <code>changed</code> event is sent. If the file does not exist or
+ could for some other reason not be accessed, an <code>error</code> event is sent
+ (both initially and for subsequent changes). In other words, the
+ first event for a path is always either <code>found</code> or <code>error</code>, and later
+ events are either <code>changed</code> or <code>error</code>.</p>
+
+ <h4><a name="Detection_of_file_type_changes">Detection of file type changes</a></h4>
+
+ <p>If the object found at a path changes type in the interval between
+ two polls, for example if a directory is replaced by a file with the
+ same name, or vice versa, the file monitor server will detect this
+ and dispatch an <code>enoent</code> error event before the new status event. A
+client can thus rely on always seeing the old file disappear before
+any change that reports a different file type.</p>
+
+ <h3><a name="Monitoring_types">Monitoring types</a></h3>
+
+ <p>There are two ways in which a path can be monitored: as a <code>file</code>,
+ meaning that we are interested only in the object found at that path,
+ or as a <code>directory</code>, meaning that we expect the path to point to a
+directory, and we are also interested in the list of entries of that
+directory.</p>
+
+ <p>If a path is monitored as a directory, and the object at the path
+ exists but is not a directory, an <code>enotdir</code> error event will be
+generated. An existing directory can however both be monitored as a
+directory and as a file - the difference is that in the latter case,
+the reported list of entries will always be empty.</p>
+
+ <h3><a name="Automatic_(recursive)_monitoring">Automatic (recursive) monitoring</a></h3>
+
+ <p>Automatic monitoring (automonitoring for short) can be used to watch
+ a single file of any type, or a whole directory tree. The monitoring
+ type (<code>file</code> or <code>directory</code>) used for any path is based on the actual
+ type of object found at the path (<code>directory</code> if the object is a
+ readable directory, and <code>file</code> otherwise). If the object is replaced
+by another of different type, the monitoring type will change
+automatically.</p>
+
+ <p>When a directory becomes automonitored, all of its entries will also
+be automatically monitored, recursively. As entries are created or
+deleted in an automonitored directory, they will be dynamically added
+or removed, respectively, from being monitored. The root path used to
+create the automonitor will however always remain monitored (even if
+the object temporarily or permanently disappears) until the server is
+told to delete the monitor.</p>
+
+ The event messages sent to the client are the same as if manual
+ monitoring was done. A newly discovered path will be reported by a
+ <code>found</code> (or possibly, by an <code>error</code> event), and subsequent changes on
+ that path are reported by <code>changed</code> and <code>error</code> events. If the
+ monitoring type is changed, a new <code>found</code> event is sent, and so on.
+<h2><a name="types">Data Types</a></h2>
+
+<h3 class="typedecl"><a name="type-filename">filename()</a></h3>
+<p><tt>filename() = binary() | atom() | [char() | <a href="#type-filename">filename()</a>]</tt></p>
+<p>This is
+ an "extended IO-list", that allows atoms as well as binaries to occur
+ either on their own or embedded in a list or deep list. The intent of
+ this is to accept any file name that can be used by the standard
+ library module <code>file</code>, as well as any normal IO-list, and any list
+ that is formed by combining such fragments.
+ </p>
+
+<h3 class="typedecl"><a name="type-monitor">monitor()</a></h3>
+<p><tt>monitor() = reference()</tt></p>
+<p>A monitor reference.</p>
+
+<h3 class="typedecl"><a name="type-options">options()</a></h3>
+<p><tt>options() = [term()]</tt></p>
+<p>A list of options.
+ </p>
+
+<h3 class="typedecl"><a name="type-server_ref">server_ref()</a></h3>
+<p><tt>server_ref() = pid() | atom() | {Node::atom(), atom()} | {global, atom()}</tt></p>
+<p>A reference to a running server. See <a href="/home/richard/src/erl/stdlib/doc/gen_server.html#call-3"><code>//stdlib/gen_server:call/3</code></a> for more information.</p>
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#automonitor-1">automonitor/1</a></td><td>Equivalent to <a href="#automonitor-2"><tt>automonitor(Path, [])</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#automonitor-2">automonitor/2</a></td><td>Equivalent to <a href="#automonitor-3"><tt>automonitor(file_monitor, Path, Opts)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#automonitor-3">automonitor/3</a></td><td>Automonitors the specified path.</td></tr>
+<tr><td valign="top"><a href="#demonitor-1">demonitor/1</a></td><td>Equivalent to <a href="#demonitor-2"><tt>demonitor(file_monitor, Ref)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#demonitor-2">demonitor/2</a></td><td>Deletes the specified monitor.</td></tr>
+<tr><td valign="top"><a href="#demonitor_dir-2">demonitor_dir/2</a></td><td>Equivalent to <a href="#demonitor_dir-3"><tt>demonitor_dir(file_monitor, Path, Ref)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#demonitor_dir-3">demonitor_dir/3</a></td><td>Removes the directory path from the specified monitor.</td></tr>
+<tr><td valign="top"><a href="#demonitor_file-2">demonitor_file/2</a></td><td>Equivalent to <a href="#demonitor_file-3"><tt>demonitor_file(file_monitor, Path, Ref)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#demonitor_file-3">demonitor_file/3</a></td><td>Removes the file path from the specified monitor.</td></tr>
+<tr><td valign="top"><a href="#get_interval-0">get_interval/0</a></td><td>Equivalent to <a href="#get_interval-1"><tt>get_interval(file_monitor)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#get_interval-1">get_interval/1</a></td><td>Returns the current polling interval.</td></tr>
+<tr><td valign="top"><a href="#monitor_dir-1">monitor_dir/1</a></td><td>Equivalent to <a href="#monitor_dir-2"><tt>monitor_dir(Path, [])</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#monitor_dir-2">monitor_dir/2</a></td><td>Equivalent to <a href="#monitor_dir-3"><tt>monitor_dir(file_monitor, Path, Opts)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#monitor_dir-3">monitor_dir/3</a></td><td>Monitors the specified directory path.</td></tr>
+<tr><td valign="top"><a href="#monitor_file-1">monitor_file/1</a></td><td>Equivalent to <a href="#monitor_file-2"><tt>monitor_file(Path, [])</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#monitor_file-2">monitor_file/2</a></td><td>Equivalent to <a href="#monitor_file-3"><tt>monitor_file(file_monitor, Path, Opts)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#monitor_file-3">monitor_file/3</a></td><td>Monitors the specified file path.</td></tr>
+<tr><td valign="top"><a href="#normalize_path-1">normalize_path/1</a></td><td>Flattens the given path to a single binary.</td></tr>
+<tr><td valign="top"><a href="#set_interval-1">set_interval/1</a></td><td>Equivalent to <a href="#set_interval-2"><tt>set_interval(file_monitor, Time)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#set_interval-2">set_interval/2</a></td><td>Sets the polling interval.</td></tr>
+<tr><td valign="top"><a href="#start-0">start/0</a></td><td>Equivalent to <a href="#start-1"><tt>start([])</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#start-1">start/1</a></td><td>Equivalent to <a href="#start-2"><tt>start({local, file_monitor}, Options)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#start-2">start/2</a></td><td>Starts the server and registers it using the specified name.</td></tr>
+<tr><td valign="top"><a href="#start_link-0">start_link/0</a></td><td>Equivalent to <a href="#start_link-1"><tt>start_link([])</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#start_link-1">start_link/1</a></td><td>Equivalent to <a href="#start_link-2"><tt>start_link({local, file_monitor}, Options)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#start_link-2">start_link/2</a></td><td>Starts the server, links it to the current process, and
+ registers it using the specified name.</td></tr>
+<tr><td valign="top"><a href="#stop-0">stop/0</a></td><td>Equivalent to <a href="#stop-1"><tt>stop(file_monitor)</tt></a>.
+</td></tr>
+<tr><td valign="top"><a href="#stop-1">stop/1</a></td><td>Stops the specified server.</td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="automonitor-1">automonitor/1</a></h3>
+<div class="spec">
+<p><tt>automonitor(Path::<a href="#type-filename">filename()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()}</tt></p>
+</div><p>Equivalent to <a href="#automonitor-2"><tt>automonitor(Path, [])</tt></a>.</p>
+
+
+<h3 class="function"><a name="automonitor-2">automonitor/2</a></h3>
+<div class="spec">
+<p><tt>automonitor(Path::<a href="#type-filename">filename()</a>, Opts::<a href="#type-options">options()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()}</tt></p>
+</div><p>Equivalent to <a href="#automonitor-3"><tt>automonitor(file_monitor, Path, Opts)</tt></a>.</p>
+
+
+<h3 class="function"><a name="automonitor-3">automonitor/3</a></h3>
+<div class="spec">
+<p><tt>automonitor(Server::<a href="#type-server_ref">server_ref()</a>, Path::<a href="#type-filename">filename()</a>, Opts::<a href="#type-options">options()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()}</tt></p>
+</div><p><p>Automonitors the specified path. Returns the monitor reference as
+well as the monitored path as a binary.</p>
+
+ Options: none at present.</p>
+
+<h3 class="function"><a name="demonitor-1">demonitor/1</a></h3>
+<div class="spec">
+<p><tt>demonitor(Ref::<a href="#type-monitor">monitor()</a>) -&gt; ok | {error, not_owner}</tt></p>
+</div><p>Equivalent to <a href="#demonitor-2"><tt>demonitor(file_monitor, Ref)</tt></a>.</p>
+
+
+<h3 class="function"><a name="demonitor-2">demonitor/2</a></h3>
+<div class="spec">
+<p><tt>demonitor(Server::<a href="#type-server_ref">server_ref()</a>, Ref::<a href="#type-monitor">monitor()</a>) -&gt; ok | {error, not_owner}</tt></p>
+</div><p>Deletes the specified monitor. This can only be done by the
+ process that created the monitor.</p>
+
+<h3 class="function"><a name="demonitor_dir-2">demonitor_dir/2</a></h3>
+<div class="spec">
+<p><tt>demonitor_dir(Path::<a href="#type-filename">filename()</a>, Ref::<a href="#type-monitor">monitor()</a>) -&gt; ok | {error, not_owner}</tt></p>
+</div><p>Equivalent to <a href="#demonitor_dir-3"><tt>demonitor_dir(file_monitor, Path, Ref)</tt></a>.</p>
+
+
+<h3 class="function"><a name="demonitor_dir-3">demonitor_dir/3</a></h3>
+<div class="spec">
+<p><tt>demonitor_dir(Server::<a href="#type-server_ref">server_ref()</a>, Path::<a href="#type-filename">filename()</a>, Ref::<a href="#type-monitor">monitor()</a>) -&gt; ok | {error, not_owner}</tt></p>
+</div><p>Removes the directory path from the specified monitor. This can
+ only be done by the process that created the monitor.</p>
+
+<h3 class="function"><a name="demonitor_file-2">demonitor_file/2</a></h3>
+<div class="spec">
+<p><tt>demonitor_file(Path::<a href="#type-filename">filename()</a>, Ref::<a href="#type-monitor">monitor()</a>) -&gt; ok | {error, not_owner}</tt></p>
+</div><p>Equivalent to <a href="#demonitor_file-3"><tt>demonitor_file(file_monitor, Path, Ref)</tt></a>.</p>
+
+
+<h3 class="function"><a name="demonitor_file-3">demonitor_file/3</a></h3>
+<div class="spec">
+<p><tt>demonitor_file(Server::<a href="#type-server_ref">server_ref()</a>, Path::<a href="#type-filename">filename()</a>, Ref::<a href="#type-monitor">monitor()</a>) -&gt; ok | {error, not_owner}</tt></p>
+</div><p>Removes the file path from the specified monitor. This can only
+ be done by the process that created the monitor.</p>
+
+<h3 class="function"><a name="get_interval-0">get_interval/0</a></h3>
+<div class="spec">
+<p><tt>get_interval() -&gt; integer()</tt></p>
+</div><p>Equivalent to <a href="#get_interval-1"><tt>get_interval(file_monitor)</tt></a>.</p>
+
+
+<h3 class="function"><a name="get_interval-1">get_interval/1</a></h3>
+<div class="spec">
+<p><tt>get_interval(Server::<a href="#type-server_ref">server_ref()</a>) -&gt; integer()</tt></p>
+</div><p>Returns the current polling interval.</p>
+
+<h3 class="function"><a name="monitor_dir-1">monitor_dir/1</a></h3>
+<div class="spec">
+<p><tt>monitor_dir(Path::<a href="#type-filename">filename()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()} | {error, not_owner | automonitor}</tt></p>
+</div><p>Equivalent to <a href="#monitor_dir-2"><tt>monitor_dir(Path, [])</tt></a>.</p>
+
+
+<h3 class="function"><a name="monitor_dir-2">monitor_dir/2</a></h3>
+<div class="spec">
+<p><tt>monitor_dir(Path::<a href="#type-filename">filename()</a>, Opts::<a href="#type-options">options()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()} | {error, not_owner | automonitor}</tt></p>
+</div><p>Equivalent to <a href="#monitor_dir-3"><tt>monitor_dir(file_monitor, Path, Opts)</tt></a>.</p>
+
+
+<h3 class="function"><a name="monitor_dir-3">monitor_dir/3</a></h3>
+<div class="spec">
+<p><tt>monitor_dir(Server::<a href="#type-server_ref">server_ref()</a>, Path::<a href="#type-filename">filename()</a>, Opts::<a href="#type-options">options()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()} | {error, not_owner | automonitor}</tt></p>
+</div><p><p>Monitors the specified directory path. Returns the monitor
+reference as well as the monitored path as a binary.</p>
+
+ Options: see <a href="#monitor_file-3"><code>monitor_file/3</code></a>.</p>
+
+<h3 class="function"><a name="monitor_file-1">monitor_file/1</a></h3>
+<div class="spec">
+<p><tt>monitor_file(Path::<a href="#type-filename">filename()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()} | {error, not_owner | automonitor}</tt></p>
+</div><p>Equivalent to <a href="#monitor_file-2"><tt>monitor_file(Path, [])</tt></a>.</p>
+
+
+<h3 class="function"><a name="monitor_file-2">monitor_file/2</a></h3>
+<div class="spec">
+<p><tt>monitor_file(Path::<a href="#type-filename">filename()</a>, Opts::<a href="#type-options">options()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()} | {error, not_owner | automonitor}</tt></p>
+</div><p>Equivalent to <a href="#monitor_file-3"><tt>monitor_file(file_monitor, Path, Opts)</tt></a>.</p>
+
+
+<h3 class="function"><a name="monitor_file-3">monitor_file/3</a></h3>
+<div class="spec">
+<p><tt>monitor_file(Server::<a href="#type-server_ref">server_ref()</a>, Path::<a href="#type-filename">filename()</a>, Opts::<a href="#type-options">options()</a>) -&gt; {ok, <a href="#type-monitor">monitor()</a>, binary()} | {error, not_owner | automonitor}</tt></p>
+</div><p><p>Monitors the specified file path. Returns the monitor reference
+as well as the monitored path as a binary.</p>
+
+ Options:
+ <ul>
+ <li><code>{monitor, <a href="#type-monitor">monitor()</a>}</code>: specifies a reference for
+ identifying the monitor to which the path should be added. The
+ monitor need not already exist, but if it does, only the same
+ process is allowed to add paths to it, and paths may not be added
+ manually to an automonitor.</li>
+ </ul></p>
+
+<h3 class="function"><a name="normalize_path-1">normalize_path/1</a></h3>
+<div class="spec">
+<p><tt>normalize_path(Path::<a href="#type-filename">filename()</a>) -&gt; binary()</tt></p>
+</div><p>Flattens the given path to a single binary.</p>
+
+<h3 class="function"><a name="set_interval-1">set_interval/1</a></h3>
+<div class="spec">
+<p><tt>set_interval(Time::integer()) -&gt; ok</tt></p>
+</div><p>Equivalent to <a href="#set_interval-2"><tt>set_interval(file_monitor, Time)</tt></a>.</p>
+
+
+<h3 class="function"><a name="set_interval-2">set_interval/2</a></h3>
+<div class="spec">
+<p><tt>set_interval(Server::<a href="#type-server_ref">server_ref()</a>, Time::integer()) -&gt; ok</tt></p>
+</div><p>Sets the polling interval. Units are in milliseconds.</p>
+
+<h3 class="function"><a name="start-0">start/0</a></h3>
+<div class="spec">
+<p><tt>start() -&gt; {ok, ServerPid::pid()} | ignore | {error, any()}</tt></p>
+</div><p>Equivalent to <a href="#start-1"><tt>start([])</tt></a>.</p>
+
+
+<h3 class="function"><a name="start-1">start/1</a></h3>
+<div class="spec">
+<p><tt>start(Options::<a href="#type-options">options()</a>) -&gt; {ok, ServerPid::pid()} | ignore | {error, any()}</tt></p>
+</div><p>Equivalent to <a href="#start-2"><tt>start({local, file_monitor}, Options)</tt></a>.</p>
+
+
+<h3 class="function"><a name="start-2">start/2</a></h3>
+<div class="spec">
+<p><tt>start(Name::{local, atom()} | {global, atom()} | undefined, Options::<a href="#type-options">options()</a>) -&gt; {ok, ServerPid::pid()} | ignore | {error, any()}</tt></p>
+</div><p><p>Starts the server and registers it using the specified name.
+ If the name is <code>undefined</code>, the server will not be registered. See
+ <a href="/home/richard/src/erl/stdlib/doc/gen_server.html#start_link-4"><code>//stdlib/gen_server:start_link/4</code></a> for details about the return
+value.</p>
+
+ Options:
+ <ul>
+ <li><code>{interval, Milliseconds::integer()}</code></li>
+ </ul></p>
+
+<h3 class="function"><a name="start_link-0">start_link/0</a></h3>
+<div class="spec">
+<p><tt>start_link() -&gt; {ok, ServerPid::pid()} | ignore | {error, any()}</tt></p>
+</div><p>Equivalent to <a href="#start_link-1"><tt>start_link([])</tt></a>.</p>
+
+
+<h3 class="function"><a name="start_link-1">start_link/1</a></h3>
+<div class="spec">
+<p><tt>start_link(Options::<a href="#type-options">options()</a>) -&gt; {ok, ServerPid::pid()} | ignore | {error, any()}</tt></p>
+</div><p>Equivalent to <a href="#start_link-2"><tt>start_link({local, file_monitor}, Options)</tt></a>.</p>
+
+
+<h3 class="function"><a name="start_link-2">start_link/2</a></h3>
+<div class="spec">
+<p><tt>start_link(Name::{local, atom()} | {global, atom()} | undefined, Options::<a href="#type-options">options()</a>) -&gt; {ok, ServerPid::pid()} | ignore | {error, any()}</tt></p>
+</div><p><p>Starts the server, links it to the current process, and
+ registers it using the specified name. If the name is <code>undefined</code>,
+ the server will not be registered. See <a href="/home/richard/src/erl/stdlib/doc/gen_server.html#start_link-4"><code>//stdlib/gen_server:start_link/4</code></a> for details about the return value.</p>
+
+ Options: see <a href="#start-2"><code>start/2</code></a>.</p>
+
+<h3 class="function"><a name="stop-0">stop/0</a></h3>
+<div class="spec">
+<p><tt>stop() -&gt; ok</tt></p>
+</div><p>Equivalent to <a href="#stop-1"><tt>stop(file_monitor)</tt></a>.</p>
+
+
+<h3 class="function"><a name="stop-1">stop/1</a></h3>
+<div class="spec">
+<p><tt>stop(Server::<a href="#type-server_ref">server_ref()</a>) -&gt; ok</tt></p>
+</div><p>Stops the specified server.</p>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, May 24 2009, 22:28:53.</i></p>
+</body>
+</html>
View
17 test/include/eunit/doc/.svn/text-base/index.html.svn-base
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>The eunit application</title>
+</head>
+<frameset cols="20%,80%">
+<frame src="modules-frame.html" name="modulesFrame" title="">
+
+<frame src="overview-summary.html" name="overviewFrame" title="">
+<noframes>
+<h2>This page uses frames</h2>
+<p>Your browser does not accept frames.
+<br>You should go to the <a href="overview-summary.html">non-frame version</a> instead.
+</p>
+</noframes>
+</frameset>
+</html>
View
14 test/include/eunit/doc/.svn/text-base/modules-frame.html.svn-base
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>The eunit application</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<h2 class="indextitle">Modules</h2>
+<table width="100%" border="0" summary="list of modules">
+<tr><td><a href="eunit.html" target="overviewFrame" class="module">eunit</a></td></tr>
+<tr><td><a href="eunit_surefire.html" target="overviewFrame" class="module">eunit_surefire</a></td></tr>
+<tr><td><a href="file_monitor.html" target="overviewFrame" class="module">file_monitor</a></td></tr></table>
+</body>
+</html>
View
1,032 test/include/eunit/doc/.svn/text-base/overview-summary.html.svn-base
@@ -0,0 +1,1032 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>EUnit - a Lightweight Unit Testing Framework for Erlang
+</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<h1>EUnit - a Lightweight Unit Testing Framework for Erlang
+</h1>
+<p>Copyright � 2004-2007 Micka�l R�mond, Richard Carlsson</p>
+<p><b>Version:</b> 2.1.1, May 24 2009 22:28:53
+</p>
+<p><b>Authors:</b> Richard Carlsson (<a href="mailto:richardc@it.uu.se"><tt>richardc@it.uu.se</tt></a>) [<em>web site:</em> <tt><a href="http://user.it.uu.se/~richardc/" target="_top">http://user.it.uu.se/~richardc/</a></tt>], Micka�l R�mond (<a href="mailto:mickael.remond@process-one.net"><tt>mickael.remond@process-one.net</tt></a>) [<em>web site:</em> <tt><a href="http://www.process-one.net/" target="_top">http://www.process-one.net/</a></tt>].</p>
+<p>EUnit is a unit testing framework for Erlang. It is very powerful
+and flexible, is easy to use, and has small syntactical overhead.</p>
+
+<ul>
+<li><a href="#Unit_testing">Unit testing</a></li>
+<li><a href="#Terminology">Terminology</a></li>
+<li><a href="#Getting_started">Getting started</a></li>
+<li><a href="#EUnit_macros">EUnit macros</a></li>
+<li><a href="#EUnit_test_representation">EUnit test representation</a></li>
+</ul>
+
+<p>EUnit builds on ideas from the family of unit testing frameworks for
+Object Oriented languages that originated with JUnit by Beck and Gamma
+(and Beck's previous framework SUnit for Smalltalk). However, EUnit uses
+techniques more adapted to functional and concurrent programming, and is
+typically less verbose than its relatives.</p>
+
+<p>Although EUnit uses many preprocessor macros, they have been designed to
+be as nonintrusive as possible, and should not cause conflicts with
+existing code. Adding EUnit tests to a module should thus not normally
+require changing existing code. Furthermore, tests that only exercise
+the exported functions of a module can always be placed in a completely
+separate module, avoiding any conflicts entirely.</p>
+
+<h3><a name="Unit_testing">Unit testing</a></h3>
+
+<p>Unit Testing is testing of individual program "units" in relative
+isolation. There is no particular size requirement: a unit can be a
+function, a module, a process, or even a whole application, but the most
+typical testing units are individual functions or modules. In order to
+test a unit, you specify a set of individual tests, set up the smallest
+necessary environment for being able to run those tests (often, you
+don't need to do any setup at all), you run the tests and collect the
+results, and finally you do any necessary cleanup so that the test can
+be run again later. A Unit Testing Framework tries to help you in each
+stage of this process, so that it is easy to write tests, easy to run
+them, and easy to see which tests failed (so you can fix the bugs).</p>
+
+<h4><a name="Advantages_of_unit_testing">Advantages of unit testing</a></h4>
+
+<dl>
+ <dt>Reduces the risks of changing the program</dt>
+ <dd>Most programs will be modified during their lifetime: bugs will be
+ fixed, features will be added, optimizations may become necessary, or
+ the code will need to be refactored or cleaned up in other ways to
+ make it easier to work with. But every change to a working program is
+ a risk of introducing new bugs - or reintroducing bugs that had
+ previously been fixed. Having a set of unit tests that you can run
+ with very little effort makes it easy to know that the code still
+ works as it should (this use is called <em>regression testing</em>;
+ see <a href="#Terminology">Terminology</a>). This goes a long way to reduce the
+ resistance to changing and refactoring code.</dd>
+ <dt>Helps guide and speed up the development process</dt>
+ <dd>By focusing on getting the code to pass the tests, the programmer
+ can become more productive, not overspecify or get lost in premature
+ optimizations, and create code that is correct from the very beginning
+ (so-called <em>test-driven development</em>; see <a href="#Terminology">Terminology</a>).</dd>
+ <dt>Helps separate interface from implementation</dt>
+ <dd>When writing tests, the programmer may discover dependencies
+ (in order to get the tests to run) that ought not to be there, and
+ which need to be abstracted away to get a cleaner design. This helps
+ eliminate bad dependencies before they spread throughout the
+ code.</dd>
+ <dt>Makes component integration easier</dt>
+ <dd>By testing in a bottom-up fashion, beginning with the smallest
+ program units and creating a confidence in that they work as they
+ should, it becomes easier to test that a higher-level component,
+ consisting of several such units, also behaves according to
+ specification (known as <em>integration testing</em>; see <a href="#Terminology">Terminology</a>).</dd>
+ <dt>Is self-documenting</dt>
+ <dd>The tests can be read as documentation, typically showing both
+ examples of correct and incorrect usage, along with the expected
+ consequences.</dd>
+</dl>
+
+<h3><a name="Terminology">Terminology</a></h3>
+
+<dl>
+ <dt>Unit testing</dt>
+ <dd>Testing that a program unit behaves as it is supposed to do (in
+ itself), according to its specifications. Unit tests have an important
+ function as regression tests, when the program later is modified for
+ some reason, since they check that the program still behaves according
+ to specification.</dd>
+ <dt>Regression testing</dt>
+ <dd>Running a set of tests after making changes to a program, to check
+ that the program behaves as it did before the changes (except, of
+ course, for any intentional changes in behaviour). Unit tests are
+ important as regression tests, but regression testing can involve more
+ than just unit testing, and may also test behaviour that might not be
+ part of the normal specification (such as bug-for-bug-compatibility).
+ </dd>
+ <dt>Integration testing</dt>
+ <dd>Testing that a number of individually developed program units
+ (assumed to already have been separately unit tested) work together as
+ expected. Depending on the system being developed, integration testing
+ may be as simple as "just another level of unit testing", but might
+ also involve other kinds of tests (compare <em>system testing</em>).
+</dd>
+ <dt>System testing</dt>
+ <dd>Testing that a complete system behaves according to its
+ specification. Specifically, system testing should not require knowing
+ any details about the implementation. It typically involves testing
+ many different aspects of the system behaviour apart from the basic
+ functionality, such as performance, usability, and reliability.</dd>
+ <dt>Test-driven development</dt>
+ <dd>A program development technique where you continuously write tests
+ <em>before</em> you implement the code that is supposed to pass those
+ tests. This can help you focus on solving the right problems, and not
+ make a more complicated implementation than necessary, by letting the
+ unit tests determine when a program is "done": if it fulfils its
+ specifications, there is no need to keep adding functionality.</dd>
+ <dt>Mock object</dt>
+ <dd>Sometimes, testing some unit <code>A</code> (e.g., a function) requires that
+ it collaborates somehow with some other unit <code>B</code> (perhaps being passed
+ as an argument, or by reference) - but <code>B</code> has not been implemented
+ yet. A "mock object" - an object which, for the purposes of testing
+ <code>A</code>, looks and behaves like a real <code>B</code> - might then be used instead.
+ (This is of course only useful if it would be significantly more work
+ to implement a real <code>B</code> than to create a mock object.)</dd>
+ <dt>Test case</dt>
+ <dd>A single, well-defined test, that somehow can be uniquely
+ identified. When executed, the test case either <em>passes</em> or
+ <em>fails</em>; the test report should identify exactly which test
+ cases failed.</dd>
+ <dt>Test suite</dt>
+ <dd>A collection of test cases, generally with a specific, common
+ target for testing, such as a single function, module, or subsystem. A
+ test suite may also be recursively composed by smaller test
+ suites.</dd>
+</dl>
+
+<h3><a name="Getting_started">Getting started</a></h3>
+<ul>
+ <li><a href="#Including_the_EUnit_header_file">Including the EUnit header file</a></li>
+ <li><a href="#Writing_simple_test_functions">Writing simple test functions</a></li>
+ <li><a href="#Running_EUnit">Running EUnit</a></li>
+