File: testing.html

package info (click to toggle)
quickfix 1.13.3%2Bdfsg-9
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 152,548 kB
  • ctags: 679,426
  • sloc: cpp: 639,331; xml: 129,200; python: 108,722; ruby: 85,152; sh: 10,492; ansic: 9,025; java: 1,827; cs: 1,145; makefile: 523; sql: 313; perl: 108
file content (91 lines) | stat: -rw-r--r-- 4,570 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html>
  <head>
    <title>Testing QuickFIX</title>
    <H1>Testing QuickFIX</H1>
  </head>

  <body>
    <p>
      The development of QuickFIX has been driven by a suite of functional acceptance tests
      and unit tests.  We have been working incrementally, functional test by functional test,
      writing the unit tests before the code.  If these tests pass, we're pretty confident
      that the engine works as intended.
    </p>
    <p>
      The developer unit tests are written in C++ and make direct calls into the code.  The
      functional acceptance tests are scripted FIX messages that are pumped into a running
      FIX server.  Most of these tests are based off of the
      <a href="http://www.fixprotocol.org/ORGANIZATIONS/928202077/FIX_TestCase_SessionLevel20010710.doc">
      FIX Session-level Test Cases and Expected Behaviors document</a>
    </p>
    <p>
      Two executable files are built that allow you to run tests.  They are <I>ut(.exe)</I> and
      <I>at_server(.exe)</I>.  Running the ut executable will run all the defined unit tests
      against the quickfix library.  The at_server executable is an implementation of a FIX server
      application that simply echoes NewOrderSingle messages back to the client.  It also ensures
      a ClOrdID is not reused.  It has just enough functionality to test the application-level
      behavior of our implementation.
    </p>
    <p>
      The output of the unit test runner is represented by a period if the test passes or a
      letter 'F' if it fails.  Failed tests will also display information regarding the failure.
      This will usually be a test name, file name, and line number.
    </p>
    <p>
      The output of the acceptance test runner will be an XML output that has a result field
      with a sucess or failure.  A failed test will also display information on why the test
      has failed.  Usually this will be a comparison of the expected result and the actual
      result of a line. To run acceptance tests, ruby must be installed and in your path.
    </p>

    <UL>
      <LI><A HREF="#Windows">Windows</A></LI>
      <LI><A HREF="#Linux / Solaris / FreeBSD / Mac OS X">Linux / Solaris / FreeBSD / Mac OS X</A></LI>
    </UL>

    <A NAME="Windows"/>
    <H3>Windows</H3>
    <table border=1 cellspacing=1 cellpadding=5 width="100%">
	<tbody><tr><td align=left>
      <H4>Unit Tests</H4>
      <p>
        Enter the <I>test</I> directory under quickfix.  All tests need to be run from this
        directory. To run unit tests, either type <B>runut debug [port]</B> or <B>runut release [port]</B>,
        depending on if you want to test the debug or release version. The port is used to test
	    socket functionality.  If you built QuickFIX with one of its supporting databases, you will
	    need to update <I>cfg/ut.cfg</I> to reflect your database settings.
      </p>
      <H4>Acceptance Tests</H4>
      <p>
        Go to the <I>test</I> directory under the root quickfix directory.  Type either <B>runat
        debug [port]</B> or <B>runat release [port]</B>, depending on if you want to test the
        debug or release version.  The port is used to listen for connections on a socket server.
        This should be a port that is not already in use on your system. <B>runat_threaded.bat</B> is
        also provided if you want to test using threaded socket code. The parameters are the same.
      </p>
    </td></tr></td></table>

    <A NAME="Linux / Solaris / FreeBSD / Mac OS X"/>
    <H3>Linux / Solaris / FreeBSD / Mac OS X</H3>
    <table border=1 cellspacing=1 cellpadding=5 width="100%">
	<tbody><tr><td align=left>
      <H4>Unit Tests</H4>
	  <p>
	    Enter the <I>test</I> directory under quickfix.  All tests need to be run from this
	    directory. To run unit tests, type <B>./runut.sh [port]</B> where the port is used to test
	    the socket functionality.  If you built QuickFIX with one of its supporting databases, you will
	    need to update <I>cfg/ut.cfg</I> to reflect your database settings.
	  </p>
	  <H4>Acceptance Tests</H4>
	  <p>
		Go to the <I>test</I> directory under the root quickfix directory.  Type <B>./runat.sh
		[port]</B>. The port is used to listen for connections on a socket server.
        This should be a port that is not already in use on your system. <B>runat_threaded.sh</B> is
        also provided if you want to test using threaded socket code. The parameters are the same.
	  </p>
    </td></tr></tbody></table>

  </body>
</html>