Example #1
0
bool ert_test_context_install_workflow( ert_test_context_type * test_context , const char * workflow_name , const char * workflow_file) {
  if (util_file_exists( workflow_file )) {
    enkf_main_type * enkf_main = ert_test_context_get_main( test_context );
    ert_workflow_list_type * workflow_list = enkf_main_get_workflow_list( enkf_main );
    ert_workflow_list_add_workflow( workflow_list , workflow_file , workflow_name );
    return ert_workflow_list_has_workflow( workflow_list , workflow_name);
  } else
    return false;
}
Example #2
0
bool ert_test_context_run_worklow( ert_test_context_type * test_context , const char * workflow_name) {
  enkf_main_type * enkf_main = ert_test_context_get_main( test_context );
  ert_workflow_list_type * workflow_list = enkf_main_get_workflow_list( enkf_main );

  if (ert_workflow_list_has_workflow( workflow_list , workflow_name ))
    return ert_workflow_list_run_workflow( workflow_list , workflow_name , enkf_main );
  else
    return false;
}
Example #3
0
bool ert_test_context_run_worklow_job( ert_test_context_type * test_context , const char * job_name, const stringlist_type * args) {
  enkf_main_type * enkf_main = ert_test_context_get_main( test_context );
  ert_workflow_list_type * workflow_list = enkf_main_get_workflow_list( enkf_main );

  if (ert_workflow_list_has_job( workflow_list , job_name )) {
    bool status;
    {
      char * workflow = util_alloc_sprintf("WORKFLOW-%06d" , rng_get_int( test_context->rng , 1000000));
      {
        FILE * stream = util_fopen( workflow , "w");
        ert_test_context_fwrite_workflow_job( stream , job_name , args );
        fclose(stream);
      }
      ert_test_context_install_workflow( test_context , workflow , workflow);
      status = ert_test_context_run_worklow( test_context , workflow );
      free(workflow);
    }
    return status;
  } else
    return false;
}
Example #4
0
void enkf_tui_workflow_list( void * arg ) {
  enkf_main_type * enkf_main = enkf_main_safe_cast( arg );
  {
    ert_workflow_list_type * workflow_list = enkf_main_get_workflow_list( enkf_main );
    stringlist_type * name_list = ert_workflow_list_alloc_namelist( workflow_list );
    
    printf("Available workflows: \n");
    {
      int i;
      for (i=0; i < stringlist_get_size( name_list ); i++) {
        if ((i % 5) == 0)
          printf("\n   ");
        else
          printf("  ");

        printf( stringlist_iget( name_list , i ));
      }
    }
    stringlist_free( name_list );
    printf("\n\n");
  }
}
Example #5
0
void enkf_tui_workflow_run( void * arg ) {
  enkf_main_type * enkf_main = enkf_main_safe_cast( arg );
  {
    ert_workflow_list_type * workflow_list = enkf_main_get_workflow_list( enkf_main );
    util_printf_prompt("Name of workflow" , PROMPT_LEN , '=' , "=> ");
    {
      char * workflow_name = util_alloc_stdin_line();
      if (workflow_name != NULL) {
        if (ert_workflow_list_has_workflow( workflow_list , workflow_name )) {
          bool runOK = ert_workflow_list_run_workflow_blocking( workflow_list , workflow_name , enkf_main);
          if (!runOK) {
            printf("Errors in workflow:%s \n", workflow_name );
            printf("-----------------------------------------------------------------\n");
            config_error_fprintf( ert_workflow_list_get_last_error( workflow_list ) , true , stdout);
            printf("-----------------------------------------------------------------\n");
          }
        }
      }
      util_safe_free( workflow_name );
    }
  }
}
void test_has_job(ert_test_context_type * test_context ) {
  enkf_main_type * enkf_main = ert_test_context_get_main( test_context );
  ert_workflow_list_type * workflows = enkf_main_get_workflow_list( enkf_main );
  test_assert_true( ert_workflow_list_has_job( workflows , "MAGIC_PRINT" ));
}