title: sbt testOnly exclusion list with tag does not work
body: <p>I have a test class as </p>
  
  <pre class="lang-scala prettyprint-override"><code>import org.scalatest.FlatSpec
  
  import scala.collection.mutable
  
  class Tags101Spec extends FlatSpec {
    "A Stack" should "pop values in last-in-first-out order" in {
      val stack = new mutable.Stack[Int]
      stack.push(1)
      stack.push(2)
      assert(stack.pop() === 2)
      assert(stack.pop() === 1)
    }
  
    it should "throw NoSuchElementException if an empty stack is popped" in {
      val emptyStack = new mutable.Stack[String]
      intercept[NoSuchElementException] {
        emptyStack.pop()
      }
    }
  
    "A String" should "return 0 size when empty" taggedAs (Fast) in {
      assert("".size === 0)
    }
  
    "A Sorted List of 10 numbers" must "return 10 as the first element when reversed" taggedAs (Slow) in {
      assert(10 === (1 to 10).toList.reverse.head)
    }
  
  }
  </code></pre>
  
  <p>In the same directory, I have a class called <code>Tags</code> which looks like  </p>
  
  <pre class="lang-scala prettyprint-override"><code>import org.scalatest.Tag
  
  object Slow extends Tag("Slow Tests")
  object Fast extends Tag("Fast Tests")
  </code></pre>
  
  <p>I run my tests using <code>sbt</code> by including a tag using <code>-n</code> flag and it works</p>
  
  <pre class="lang-scala prettyprint-override"><code>sbt:Unit Testing in Scala&gt; testOnly -- -n Fast
  [info] Tags101Spec:
  [info] A Stack
  [info] A String
  [info] A Sorted List of 10 numbers
  [info] Run completed in 137 milliseconds.
  [info] Total number of tests run: 0
  [info] Suites: completed 1, aborted 0
  [info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
  </code></pre>
  
  <p>Since only <code>1</code> test was <code>taggedAs(Fast)</code>, the test ran only one test.</p>
  
  <p>Now, I want to do the opposite, exclude the <code>Fast</code> tag and run remaining tests. Here is what I tried</p>
  
  <pre class="lang-scala prettyprint-override"><code>sbt:Unit Testing in Scala&gt; testOnly -- -l Fast
  [info] Tags101Spec:
  [info] A Stack
  [info] - should pop values in last-in-first-out order
  [info] - should throw NoSuchElementException if an empty stack is popped
  [info] A String
  [info] - should return 0 size when empty
  [info] A Sorted List of 10 numbers
  [info] - must return 10 as the first element when reversed
  [info] Run completed in 252 milliseconds.
  [info] Total number of tests run: 4
  [info] Suites: completed 1, aborted 0
  [info] Tests: succeeded 4, failed 0, canceled 0, ignored 0, pending 0
  </code></pre>
  
  <p>And as you see, it ran <code>4</code> tests, which is all the tests, including <code>1</code> <code>Fast</code> tagged test.</p>
  
  <p>What am I missing here? How can I make exclusion tag work with <code>sbt</code>?</p>
  
  <p>Thanks</p>