function exec(cmd, opts) {
  expect(shell.exec(cmd, opts || {}).code).to.equal(0, 'Command failed, exit code should be 0');
}
Test the basic work flow of a Rekit project. Also test Rekit plugins 'redux-saga' and 'selector'.
There should be 'rekit-core', 'rekit-portal' as sibling folders of 'rekit' to run the test script:
- workspace
|-- rekit
|-- rekit-core
|-- rekit-portal
|-- rekit-plugin-redux-saga
|-- rekit-plugin-selector

It does below things:
1. Install Rekit globally (first uninstall and unlink Rekit).
2. Create an app using less
3. Install dependencies of the app using yarn
4. Runt 'npm test' and check success.
5. Create a public plugin named 'rekit-plugin-public-test', generate a dummy js module
6. Config the plugin in the app
7. Run 'rekit add sanity-test home/pt1', check result.
8. Run 'rekit mv public-test home/pt1 home/pt2', then check result.
9. Run 'rekit rm public-test home/pt1 home/pt2', then check result.
10. Create a local plugin named 'rekit-plugin-local-test', generate a dummy js module
11. Run 'rekit add local-test home/lt1', check result.
12. Run 'rekit mv local-test home/lt1 home/lt2', then check result.
13. Run 'rekit rm local-test home/lt1 home/lt2', then check result.
14. npm start
15. Open browser for app and portal, manually test it.