/**
   * run the test
   *
   * @exception T_Fail Unexpected behaviour from the API
   */
  protected void runTestSet() throws T_Fail {

    // get a utility helper

    ContextManager cm1 = contextService.newContextManager();
    contextService.setCurrentContextManager(cm1);

    try {

      // boundry case: 1 row, 13 columns, string types
      SF001(1, 13, T_RowSource.STRING_ROW_TYPE, false);

      // boundry case: 1 rows, 1 null column, string types
      SF001(1, 1, T_RowSource.STRING_ROW_TYPE, false);

      // boundry case: 1000 rows, 1 null column, string types
      SF001(1000, 1, T_RowSource.STRING_ROW_TYPE, false);

      // boundry case: 1000 rows, 2 column (first null, second not null), string types
      SF001(1000, 2, T_RowSource.STRING_ROW_TYPE, false);

      // boundry case: 500 rows, 9 columns (first & last column null), string types
      SF001(500, 9, T_RowSource.STRING_ROW_TYPE, false);

      // 500 rows, 13 column, string type
      SF001(500, 13, T_RowSource.STRING_ROW_TYPE, false);

      // test error condition
      SF001(1000, 2, T_RowSource.STRING_ROW_TYPE, true);

      // The following test tests externalizable types, but we currently don't support it.
      // do, don't run the test yet.
      // 100 rows, 5 column, Integer object type
      // SF001(100, 5, T_RowSource.INTEGER_ROW_TYPE, false);
      // 100 rows, 1 column, Integer object type
      // SF001(100, 1, T_RowSource.INTEGER_ROW_TYPE, false);

      // SF002() tests are used to check performance of the stream file.
      // no need to run them regularly.
      // SF002(0);
      // SF002(1);

    } catch (StandardException se) {

      cm1.cleanupOnError(se);
      throw T_Fail.exceptionFail(se);
    } finally {
      contextService.resetCurrentContextManager(cm1);
    }
  }
  /*
   * create a container that all threads can use
   */
  private long commonContainer() throws T_Fail {

    ContextManager cm1 = contextService.newContextManager();
    contextService.setCurrentContextManager(cm1);
    long cid;

    try {
      Transaction t = t_util.t_startTransaction();
      cid = t_util.t_addContainer(t, 0);
      t_util.t_commit(t);
      t.close();
    } catch (StandardException se) {

      cm1.cleanupOnError(se);
      throw T_Fail.exceptionFail(se);
    } finally {
      contextService.resetCurrentContextManager(cm1);
    }
    return cid;
  }