The problem with that is that a describe block is more or less a wrapper for a class definition, so code in that context only gets executed once, whereas `let`, `before`, etc. get reset for each example (`it` block). Any state that gets leftover in a plugin instance would persist between runs, which could cause confusing test failures.

Something like this should be simple enough:

```ruby
shared_examples_for "a plugin" do
  it "has some behavior I want to test" do
    plugin.run
    # make some assertions
  end
end

describe "a particular plugin" do
  let(:ohai) { Ohai::System.new }
  let(:plugin) { get_plugin("v7plugin", ohai, "#{tmp}/plugins") }

  it_should_behave_like "a plugin"
end
```