Schoolserver Testing
These are the tests performed to validate proper operation of the XS School server software.
Connectivity
The School server provides basic network connectivity to laptops connected to a school mesh.
Basic Mesh Connectivity
This test verifies that laptops on a school mesh are provided with basic connectivity to the schoolserver, over the wireless mesh network.
These actions should be repeated on each of the three mesh channel.
Setup:
- Setup a school server with three Active Antennas.
Actions:
- Using an XO laptop, associate with one mesh channel. The mesh channel used by a laptop can be selected by clicking on a mesh channel in the neighborhood view.
Verify:
- Switch to a text terminal
- Verify that an IP address has been assigned by typing ifconfig eth0. The address assigned should be in the range 172.18.16.0 to 172.18.63.255.
- Verify that the laptop can communicate with the school server using ping:
ping 172.18.0.1
Domain Name System
This test verifies that laptops on a school mesh can properly resolve DNS names.
Setup:
- Setup a school server with one to three active antennas. The school server should be connected to the Internet through its WAN connection.
Actions:
- Associate a laptop with a mesh channel.
Verify:
- Switch to a text terminal
- Verify that DNS has been configured properly by checking /etc/resolv.conf to see that a DNS server has been assigned. It should look like (the actual domain listed after search may be different):
; generated by /sbin/dhclient-script search random.xs.laptop.org nameserver 172.16.0.1
- Check that DNS on the schoolserver is operating properly using ping (additional service names defined in School Service Names should also be tested):
ping schoolserver ping school ping www ping time ping presence
- Finally, check that DNS properly resolves non-local names:
ping wiki.laptop.org
IP Routing
Mesh to Internet
This test verifies that laptops on a school mesh can properly route packets to/from the internet.
Setup:
- Setup a school server with one to three active antennas. The school server should be connected to the Internet through its WAN connection.
Actions:
- Associate a laptop with a mesh channel.
- Launch a web browser. Navigate to wiki.laptop.org.
Verify:
- Make sure that the wiki is displayed.
Mesh to Mesh
This test verifies that laptops can communicate with other laptops on the school mesh.
Setup:
- Setup a school server with two or three active antennas.
- Associate one XO laptop with one mesh channel. Associate another XO laptop with a different mesh channel. The mesh channel used by a laptop can be selected by clicking on a mesh channel in the neighborhood view.
Actions:
- Determine the IP addresses of the two laptops by opening a Terminal and using ifconfig eth0. For the following instructions, assume the IP addresses are AA.AA.AA.AA and BB.BB.BB.BB.
- From the laptop with IP address AA.AA.AA.AA, use ping BB.BB.BB.BB to test connectivity.
- From the laptop with IP address BB.BB.BB.BB, use ping AA.AA.AA.AA to test connectivity.
Verify:
- Both pings should succeed, with no more than one or two packets lost.
Web Caching
This test verifies that the transparent HTTP proxy and cache is working properly.
Setup:
- Setup a school server with one or more active antennas. The school server should be connected to the Internet through its WAN connection.
Actions:
- Associate two laptops with the school mesh.
- Fetch a large file from a remote server, using wget:
wget -N http://xs-dev.laptop.org/wad/test1MB_1.bin
- Fetch the same file again using the same laptop.
- Fetch the same file using the second laptop.
Verify:
- The time required to fetch the file should be drastically reduced the second time it was fetched on the same laptop.
- The time required to fetch the file on the second laptop should be comparable to the second time it was fetched on the first laptop.
This is a rather simplistic test of the HTTP caching function, and should be updated.