diff --git simpletest_example/simpletest_example.info simpletest_example/simpletest_example.info
new file mode 100644
index 0000000..ed0acde
--- /dev/null
+++ simpletest_example/simpletest_example.info
@@ -0,0 +1,6 @@
+name = Simpletest Example
+description = Used to demonstrate a simpletest test suite.
+core = 6.x
+package = Example modules
+files[] = simpletest_example.module
+files[] = simpletest_example.test
\ No newline at end of file
diff --git simpletest_example/simpletest_example.module simpletest_example/simpletest_example.module
new file mode 100644
index 0000000..164cce5
--- /dev/null
+++ simpletest_example/simpletest_example.module
@@ -0,0 +1,99 @@
+<?php
+// $Id$
+/**
+ * @file
+ * An example of simpletest tests to accompany the tutorial at
+ * http://drupal.org/node/395012.
+ *
+ * This is built on a traditional node-type implementation.
+ *
+ */
+
+
+/**
+* Implementation of hook_node_info().
+*/
+function simpletest_example_node_info() {
+  return array(
+    'simpletest_example' => array(
+      'name' => t('simpletest_example page'),
+      'module' => 'simpletest_example',
+      'description' => t('simpletest_example page node type.'),
+    )
+  );
+}
+
+function simpletest_example_perm() {
+  return array('create simpletest_example', 'edit own simpletest_example');
+}
+
+/**
+ * Implementation of hook_access().
+ */
+function simpletest_example_access($op, $node) {
+  global $user;
+
+  if ($op == 'create') {
+    return (user_access('create simpletest_example'));
+  }
+
+  // This code has a BUG that we'll find in testing
+  // Correct version
+  // if ($op == 'update' || $op == 'delete') {
+
+  // Incorrect version we'll use to demonstrate test failure. We were always testing
+  // with User 1!
+  if ($op == 'delete') {
+    return (user_access('edit own simpletest_example') && ($user->uid == $node->uid));
+  }
+}
+/**
+* Implementation of hook_form().
+*/
+function simpletest_example_form(&$node) {
+  $type = node_get_types('type', $node);
+
+  if ($type->has_title) {
+    $form['title'] = array(
+      '#type' => 'textfield',
+      '#title' => check_plain($type->title_label),
+      '#required' => TRUE,
+      '#default_value' => $node->title,
+      '#weight' => -5
+    );
+  }
+
+  if ($type->has_body) {
+    $form['body_field'] = node_body_field($node, $type->body_label, $type->min_word_count);
+  }
+
+  return $form;
+}
+
+/**
+ * Implements hook_menu().
+ *
+ * Provide a form and explanation. Let the user turn on the error.
+ */
+function simpletest_example_menu() {
+  $items['examples/simpletest_example'] = array(
+    'title'           => 'Simpletest Example',
+    'description'     => 'Explain the simpletest example.',
+    'page callback'   => '_simpletest_example_explanation',
+    'access callback' => TRUE,
+  );
+  return $items;
+}
+
+/**
+ * Form to allow turning off the logic error.
+ * @param $form
+ * @param $form_state
+ */
+function _simpletest_example_explanation() {
+
+  $explanation =  t("This Simpletest Example is designed to give an introductory tutorial to writing
+    a simpletest test. Please see the <a href='http://drupal.org/node/395012'>associated tutorial</a>.");
+  return $explanation;
+}
+
diff --git simpletest_example/simpletest_example.test simpletest_example/simpletest_example.test
new file mode 100644
index 0000000..ecc8750
--- /dev/null
+++ simpletest_example/simpletest_example.test
@@ -0,0 +1,76 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * An example of simpletest tests to accompany the tutorial at
+ * http://drupal.org/node/395012.
+ */
+
+class SimpletestExampleTestCase extends DrupalWebTestCase {
+  protected $privileged_user;
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Simpletest Example',
+      'description' => 'Ensure that the simpletest_example content type provided functions properly.',
+      'group' => 'Examples',
+    );
+  }
+
+  public function setUp() {
+    parent::setUp('simpletest_example');  // Enable any modules required for the test
+    // Create and log in our user. The user has the arbitrary privilege
+    // 'extra special edit any simpletest_example' which the code uses
+    // to grant access.
+    $this->privileged_user = $this->drupalCreateUser( array('create simpletest_example', 'edit own simpletest_example'));
+    $this->drupalLogin($this->privileged_user);
+  }
+
+  // Create a simpletest_example node using the node form
+  public function testsimpletest_exampleCreate() {
+    // Create node to edit.
+    $edit = array();
+    $edit['title'] = $this->randomName(8);
+    $edit['body'] = $this->randomName(16);
+    $this->drupalPost('node/add/simpletest-example', $edit, t('Save'));
+    $this->assertText(t('simpletest_example page @title has been created.', array('@title' => $edit['title'])));
+  }
+
+  // Create a simpletest_example node and then see if our user can edit it
+  public function testsimpletest_exampleEdit() {
+    $settings = array(
+      'type' => 'simpletest_example',
+      'title' => $this->randomName(32),
+      'body' => $this->randomName(64),
+    );
+    $node = $this->drupalCreateNode($settings);
+
+    // For debugging, we might output the node structure with $this->verbose()
+    $this->verbose('Node created: ' . var_export($node, TRUE));
+    // It would only be output if the testing settings had 'verbose' set.
+
+    // We'll run this test normally, but not on the testbot, as it would
+    // indicate that the examples module was failing tests.
+    if (!$this->runningOnTestbot()) {
+      $this->drupalGet("node/{$node->nid}/edit");
+
+      // Looking for text to determine whether we were successful opening edit
+      // page.
+      $this->assertText(t("Edit Simpletest Example Node Type @title", array('@title' => $settings['title'])), "Found Page edit title");
+      // Looking for a DOM node by ID to see if we were successful.
+      $this->assertFieldById('edit-title', '', 'Found edit-title field as indication that we got to the edit page');
+    }
+  }
+
+  /**
+   * Detect if we're running on PIFR testbot; skip intentional failure in that
+   * case.
+   * @return boolean
+   *   TRUE if running on testbot.
+   */
+  public function runningOnTestbot() {
+    $testbot_code_directory = "../checkout";
+    return file_exists($testbot_code_directory);
+  }
+}
\ No newline at end of file
