mirror of
https://github.com/Netflix/dial-reference.git
synced 2026-06-08 19:09:59 +00:00
113 lines
4.9 KiB
Plaintext
113 lines
4.9 KiB
Plaintext
--------------------------------------------------------------------------------
|
|
Building the DIAL server
|
|
--------------------------------------------------------------------------------
|
|
1) Define the TARGET environment variable to point to the CC compiler prefix
|
|
for your target platform.
|
|
|
|
|
|
2) Run make, passing in your TARGET value.
|
|
|
|
For example:
|
|
TARGET=/usr/local/i686-DIAL-EXAMPLE/bin/i686-DIAL-EXAMPLE make
|
|
|
|
--------------------------------------------------------------------------------
|
|
Running the DIAL server
|
|
--------------------------------------------------------------------------------
|
|
The DIAL server should be started as a service, after the platform's networking
|
|
has been initialized, and it should remain running at all times (a daemon
|
|
process in the system).
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
Building the DIAL client
|
|
--------------------------------------------------------------------------------
|
|
The DIAL client is a standalone C++ console application you can use to test
|
|
a running DIAL server implementation on your device. Unlike the server, which
|
|
is built for, and meant to run on your device, the client is meant to run on
|
|
your desktop (development) machine.
|
|
|
|
The DIAL client uses CURL to send HTTP REST commands to the DIAL server, so to
|
|
build the client, you need to ensure that the CURL dependencies are
|
|
defined properly.
|
|
|
|
Alternatively, you can build against a different, current version of libcurl.
|
|
Adjust the INCLUDES and LDFLAGS definitions to point to your actual libcurl
|
|
header and library locations. In most cases, you can omit the TARGET define.
|
|
|
|
Note: the -rpath argument passed to LDFLAGS specifies the libcurl location
|
|
to the runtime linker.
|
|
|
|
--------------------------------------------------------------------------------
|
|
Running the DIAL client in interactive (menu) mode
|
|
--------------------------------------------------------------------------------
|
|
1) The DIAL client application must be running in the same subnet as the
|
|
DIAL server.
|
|
|
|
2) Start the client: ./dialclient (or ./dialclient -m)
|
|
The on-screen menu will list all available actions.
|
|
|
|
--------------------------------------------------------------------------------
|
|
Running the DIAL client in conformance test (non-interactive) mode
|
|
--------------------------------------------------------------------------------
|
|
1) The DIAL client application must be running in the same subnet as the
|
|
DIAL server.
|
|
|
|
2) Start the client:
|
|
./dialclient -i [input-file] [-o output-file] [-a server-IP-addr]
|
|
|
|
In script-driven mode, the client reads in an input-file, executes the
|
|
instructions in the input-file, and generates a
|
|
report. The default file locations (which can be overridden) are:
|
|
./dialclient_input.txt
|
|
./report.html
|
|
|
|
--------------------------------------------------------------------------------
|
|
DIAL client Usage
|
|
--------------------------------------------------------------------------------
|
|
When running the DIAL client, you have the following options
|
|
usage: dialclient <option>
|
|
|
|
Option Parameter Description
|
|
-h none Usage menu
|
|
-m none Use menu
|
|
-o filename Reporter output file (./report.html)
|
|
-i filename Input File (./dialclient_input.txt)
|
|
-a ip_address IP addr of DIAL server (used for conformance testing)
|
|
|
|
If you do not provide an ip_address and multiple servers are discovered, the
|
|
client will prompt you to select a server.
|
|
|
|
--------------------------------------------------------------------------------
|
|
NEW: Node.js tests for DIAL server 2.1
|
|
--------------------------------------------------------------------------------
|
|
Node.js tests to test DIAL server implementation are now available under
|
|
server/tests/js_tests. To run these tests againsts a DIAL server:
|
|
|
|
1. Ensure that the DIAL server is discoverable from the test environment
|
|
2. Install node in the test environment
|
|
3. From the directory where the package.json is located (server/tests/js_tests),
|
|
npm install
|
|
|
|
The tests themselves are located inside the server/tests/js_tests/tests folder.
|
|
The file tests.js is a batch runner and will run all the tests serially. It
|
|
takes the following arguments:
|
|
|
|
host: <IP address of host in which DIAL server is running>
|
|
app: Name of the application to test against (eg: Netflix, YouTube)
|
|
timeToWaitForStateChange: Some of these tests wait for application state
|
|
changes before querying for application status. Default is 5000(ms)
|
|
|
|
Example:
|
|
server/tests/js_tests/tests> node tests.js host=<ip of DIAL server>
|
|
app="Netflix" timeToWaitForStateChange=2000
|
|
|
|
To run each test independantly and not through test.js, just call the
|
|
appropriate test file name instead of test.js.
|
|
|
|
Example:
|
|
server/tests/js_tests/tests> node discoverServerUnderTest.js
|
|
host=<ip of DIAL server> app="Netflix" timeToWaitForStateChange=2000
|
|
|
|
Any application specific setup/requirements should be taken care of before
|
|
running these tests.
|