Question: newbie here, so thanks in advance for help! I have a Wordpress site with multiple taxonomies. I'd like to create a very simple form with two select boxes, one for each taxonomy. Then I'd like to use an HTML form with the get method to display posts matching the criteria they requested from the select boxes.

I'm able to do this easy enough if each of the two select boxes are filled out, I get a permalink something like:

```
testsite.com/?tax1=value1&tax2=value2

```

(ugly, I know, but it works).

What I can't figure out is what to do if they don't fill out both select boxes. Ideally it would only give the permalink for the one they fill in, so either:

```
testsite.com/?tax1=value1 or testsite.com/?tax2=value2

```

But instead I'm getting

```
testsite.com/?tax1=value1&tax2=Select+tax

```

here is my HTML

```
<form action="http://www.testsite.com/" method="get">
Season: <select name="season">
<option>Select season</option>
<option value="">Select season</option>
<option value="spring">Spring</option>
<option value="summer">Summer</option>
<option value="fall">Fall</option>
</select><br/>
Vacation type: <select name="vacations">
<option value="">Select vacation type</option>
<option value="beach">Beach</option>
<option value="ski">Ski</option>
</select><br/>
<input type="submit" />
</form> 

```

I realize the answer is probably simple but I'm banging my head against a wall so any help is very very much appreciated. Thank you!

Answer: 
You can simulate errors using [fault injection](http://en.wikipedia.org/wiki/Fault_injection). For example, [libfiu](http://blitiri.com.ar/p/libfiu/) is a fault injection library that comes with an example project that allows you to simulate errors from POSIX functions. Basically it uses `LD_PRELOAD` to inject a wrapper around the regular system calls (including `write`), and then the wrapper can be configured to either pass through to the real system call, or return whatever error you like.
You could set the receive buffer size to be really small on one side, and send a large buffer on the other. Or on the one side set the send buffer small and try to send a large message.

Otherwise the most common test (I think) is to let the server and client talk for a while, and then remove a network cable.