Sponsored Content
Top Forums Shell Programming and Scripting Unit tests for HTTP server implementation Post 302524488 by jjinno on Monday 23rd of May 2011 12:58:23 PM
Old 05-23-2011
Unit tests for HTTP server implementation

Anybody know of a suite of server-validation tests? I am trying to build my own HTTP server, but do not know of all the status code responses (like "200 OK") or the internal methods (like "keep-alive") which should be implemented to be considered a "complete" solution.

Any help?
 

6 More Discussions You Might Find Interesting

1. Cybersecurity

List of HTTP/FTP-clients on a server

The other day, a friend of mine had his Linux webserver compromised because he was running a vulnerable PHP-script. The "hacker" had used a malformed URL to include a wget-command to fetch some stuff off the net and install it in /dev/shm where it ran undetected. Fortunately, the webserver ran as a... (2 Replies)
Discussion started by: indo1144
2 Replies

2. Linux

HTTP server

Hello all, Please tell me that how to configure a HTTP server in Fedora Core 3 Also tell me about WEB HOSTING under Linux. (4 Replies)
Discussion started by: jaibw
4 Replies

3. Solaris

Installing Oracle HTTP Server

Hi, i am trying to install Oracle 10g Companion Products on a Solaris 5.9 server. At the end of the installation the configuration assistant fails and it's unable to start the HTTP Server. Below is the error opmnctl: starting opmn and all managed processes... Failed to get IP for ... (0 Replies)
Discussion started by: saharookiedba
0 Replies

4. Shell Programming and Scripting

Simple HTTP server in GAWK

Hi, Not sure if this post belongs to this forum but I have been trying every so often to setup a simple http server in awk. After a couple of try and errors I finally came across this: REMCONF - TCP/IP Internetworking With `gawk' This tutorial is not to cut and paste without change, so here... (0 Replies)
Discussion started by: ripat
0 Replies

5. UNIX for Advanced & Expert Users

chunk server implementation

How unix file can be put in the hash table and how to write a program in which the chunk server acts as a client and server . Can you give me a comprehensive idea of implementation. (0 Replies)
Discussion started by: kswapnadevi
0 Replies

6. UNIX and Linux Applications

Implementation of Open LDAP Server

Hello everyone I wanted to asked you guys for advice regarding the requirement to have Open LDAP Server in organization. I installed Open LDAP Server, and also Client machine for testing before I put into production. Everything works fine, along with a friendly web interface, him I add user... (1 Reply)
Discussion started by: James Stone
1 Replies
VARNISHTEST(1)															    VARNISHTEST(1)

NAME
varnishtest - Test program for Varnish SYNOPSIS
varnishtest [-n iter] [-q] [-v] file [file ...] DESCRIPTION
The varnishtest program is a script driven program used to test the Varnish Cache. The varnishtest program, when started and given one or more script files, can create a number of threads representing backends, some threads representing clients, and a varnishd process. The following options are available: -n iter Run iter number of iterations. -q Be quiet. -v Be verbose. -t Dunno. file File to use as a script SCRIPTS
Example script # Start a varnish instance called "v1" varnish v1 -arg "-b localhost:9080" -start # Create a server thread called "s1" server s1 { # Receive a request rxreq # Send a standard response txresp -hdr "Connection: close" -body "012345 " } # Start the server thread server s1 -start # Create a client thread called "c1" client c1 { # Send a request txreq -url "/" # Wait for a response rxresp # Insist that it be a success expect resp.status == 200 } # Run the client client c1 -run # Wait for the server to die server s1 -wait # (Forcefully) Stop the varnish instance. varnish v1 -stop Example script output The output, running this script looks as follows. The "bargraph" at the beginning of the line is an indication of the level of detail in the line. The second field where the message comes from. The rest of the line is anyones guess :-) # TEST tests/b00000.vtc starting ### v1 CMD: cd ../varnishd && ./varnishd -d -d -n v1 -a :9081 -T :9001 -b localhost:9080 ### v1 opening CLI connection #### v1 debug| NB: Storage size limited to 2GB on 32 bit architecture, #### v1 debug| NB: otherwise we could run out of address space. #### v1 debug| storage_file: filename: ./varnish.Shkoq5 (unlinked) size 2047 MB. ### v1 CLI connection fd = 3 #### v1 CLI TX| start #### v1 debug| Using old SHMFILE #### v1 debug| Notice: locking SHMFILE in core failed: Operation not permitted #### v1 debug| bind(): Address already in use #### v1 debug| rolling(1)... #### v1 debug| #### v1 debug| rolling(2)... #### v1 debug| Debugging mode, enter "start" to start child ### v1 CLI 200 <start> ## s1 Starting server ### s1 listen on :9080 (fd 6) ## c1 Starting client ## c1 Waiting for client ## s1 started on :9080 ## c1 started ### c1 connect to :9081 ### c1 connected to :9081 fd is 8 #### c1 | GET / HTTP/1.1 #### c1 | ### c1 rxresp #### s1 Accepted socket 7 ### s1 rxreq #### s1 | GET / HTTP/1.1 #### s1 | X-Varnish: 422080121 #### s1 | X-Forwarded-For: 127.0.0.1 #### s1 | Host: localhost #### s1 | #### s1 http[ 0] | GET #### s1 http[ 1] | / #### s1 http[ 2] | HTTP/1.1 #### s1 http[ 3] | X-Varnish: 422080121 #### s1 http[ 4] | X-Forwarded-For: 127.0.0.1 #### s1 http[ 5] | Host: localhost #### s1 | HTTP/1.1 200 Ok #### s1 | Connection: close #### s1 | #### s1 | 012345 #### s1 | ## s1 ending #### c1 | HTTP/1.1 200 Ok #### c1 | Content-Length: 9 #### c1 | Date: Mon, 16 Jun 2008 22:16:55 GMT #### c1 | X-Varnish: 422080121 #### c1 | Age: 0 #### c1 | Via: 1.1 varnish #### c1 | Connection: keep-alive #### c1 | #### c1 http[ 0] | HTTP/1.1 #### c1 http[ 1] | 200 #### c1 http[ 2] | Ok #### c1 http[ 3] | Content-Length: 9 #### c1 http[ 4] | Date: Mon, 16 Jun 2008 22:16:55 GMT #### c1 http[ 5] | X-Varnish: 422080121 #### c1 http[ 6] | Age: 0 #### c1 http[ 7] | Via: 1.1 varnish #### c1 http[ 8] | Connection: keep-alive #### c1 EXPECT resp.status (200) == 200 (200) match ## c1 ending ## s1 Waiting for server #### v1 CLI TX| stop ### v1 CLI 200 <stop> # TEST tests/b00000.vtc completed If instead of 200 we had expected 201 with the line:: expect resp.status == 201 The output would have ended with:: #### c1 http[ 0] | HTTP/1.1 #### c1 http[ 1] | 200 #### c1 http[ 2] | Ok #### c1 http[ 3] | Content-Length: 9 #### c1 http[ 4] | Date: Mon, 16 Jun 2008 22:26:35 GMT #### c1 http[ 5] | X-Varnish: 648043653 648043652 #### c1 http[ 6] | Age: 6 #### c1 http[ 7] | Via: 1.1 varnish #### c1 http[ 8] | Connection: keep-alive ---- c1 EXPECT resp.status (200) == 201 (201) failed SEE ALSO
o varnishhist(1) o varnishlog(1) o varnishncsa(1) o varnishstat(1) o varnishtop(1) o vcl(7) HISTORY
The varnishtest program was developed by Poul-Henning Kamp <phk@phk.freebsd.dk> in cooperation with Varnish Software AS. This manual page was written by Stig Sandbeck Mathisen <ssm@linpro.no> using examples by Poul-Henning Kamp <phk@phk.freebsd.dk>. COPYRIGHT
This document is licensed under the same licence as Varnish itself. See LICENCE for details. o Copyright (c) 2007-2008 Varnish Software AS AUTHOR
Stig Sandbeck Mathisen 1.0 2010-05-31 VARNISHTEST(1)
All times are GMT -4. The time now is 04:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy