namespace("lint", function () {
  desc("A task for running node-linter on gourdian");
  task("framework", [], function() {
    var linter = require("node-linter");

    linter.run({ files: path.join(__dirname, "..", "..", "core", "gourdian.js")
               , config: "./node_modules/node-linter/conf/server.json"
               , confRoot: "./node_modules/node-linter/conf"
               , recursive: true
               , format: true
               , callback: function(errors) {
                   console.log(errors);
                   complete();
                 }
               });
  }, true);

  desc("A task for running node-linter on the app directory of the project");
  task("app", [], function() {
    var linter = require("node-linter");

    linter.run({ files: "./app"
               , config: "./node_modules/node-linter/conf/server.json"
               , confRoot: "./node_modules/node-linter/conf"
               , recursive: true
               , format: true
               , callback: function(errors) {
                   console.log(errors);
                   complete();
                 }
               });
  }, true);
});

namespace("test", function() {
  var path = require("path")
    , spawn = require("child_process").spawn

    , test_script = path.join(__dirname, "script", "test")
    , test = null;

  namespace("framework", function() {
    // override default test script location if running from gourdian root
    if (__dirname === path.join(require.resolve("gourdian"), "..", "..")) {
      test_script = path.join(test_script, "..", "test.js");
    }

    desc("List framework tests");
    task("list", [], function() { test = spawn(test_script, ["-g", "-l"]) }, true);

    desc("Run all framework tests");
    task("all", [], function() { test = spawn(test_script, ["-g"]) }, true);

    desc("Run framework unit tests");
    task("unit", [], function() { test = spawn(test_script, ["-g", "-u"]) }, true);

    desc("Run framework unit tests");
    task("integration", [], function() { test = spawn(test_script, ["-g", "-i"]) }, true);
  });

  desc("Run application unit tests");
  task("all", [], function() { test = spawn(test_script, ["-u"]) }, true);

  desc("Run application integration tests");
  task("app", [], function() { test = spawn(test_script, ["-i"]) }, true);

  (function wait_for_tests() {
    if (test === null) setTimeout(wait_for_tests, null);
    else {
      test.stdout.setEncoding('utf8');
      test.stderr.setEncoding('utf8');
      test.stdout.on("data", function(data) { console.log(data) });
      test.stderr.on("data", function(data) { console.log(data) });
      test.on("exit", function() { complete() });
   }
 })();
});

@@ -1,16 +1,19 @@
+/*%0A
 namespace(%22lint%22
@@ -1152,16 +1152,19 @@
 ue);%0A%7D);
+%0A*/
 %0A%0Anamesp
@@ -2088,24 +2088,236 @@
 ue);%0A  %7D);%0A%0A
+  desc(%22List application tests%22);%0A  task(%22list%22, %5B%5D, function() %7B test = spawn(test_script, %5B%22-l%22%5D) %7D, true);%0A%0A  desc(%22Run application tests%22);%0A  task(%22all%22, %5B%5D, function() %7B test = spawn(test_script) %7D, true);%0A%0A
   desc(%22Run 
@@ -2342,35 +2342,36 @@
 ests%22);%0A  task(%22
-all
+unit
 %22, %5B%5D, function(
@@ -2464,35 +2464,43 @@
 ests%22);%0A  task(%22
-app
+integration
 %22, %5B%5D, function(

clean up Jakefile