Exemplo n.º 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;
}
Exemplo n.º 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;
}
Exemplo n.º 3
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 );
    }
  }
}
Exemplo n.º 4
0
void test_add_alias( const char * job) {
  test_work_area_type * work_area = test_work_area_alloc( "workflow_list/alias" );
  ert_workflow_list_type * wf_list = ert_workflow_list_alloc( NULL );
  ert_workflow_list_add_job( wf_list , "JOB" , job );

  {
    FILE * stream = util_fopen("WF1" , "w");
    fprintf(stream , "SCALE_STD 0.25\n");
    fclose(stream);
  }


  {
    FILE * stream = util_fopen("WF2" , "w");
    fprintf(stream , "SCALE_STD 0.25\n");
    fclose(stream);
  }

  test_assert_true( workflow_is_instance( ert_workflow_list_add_workflow( wf_list , "WF1" , "WF")));
  test_assert_int_equal( 1 , ert_workflow_list_get_size( wf_list ));
  test_assert_false( ert_workflow_list_has_workflow( wf_list , "WF1"));
  test_assert_true( ert_workflow_list_has_workflow( wf_list , "WF"));

  ert_workflow_list_add_alias( wf_list , "WF" , "alias");
  test_assert_int_equal( 2 , ert_workflow_list_get_size( wf_list ));
  test_assert_true( ert_workflow_list_has_workflow( wf_list , "WF"));
  test_assert_true( ert_workflow_list_has_workflow( wf_list , "alias"));
  test_assert_true( workflow_is_instance( ert_workflow_list_get_workflow( wf_list , "WF")));
  test_assert_true( workflow_is_instance( ert_workflow_list_get_workflow( wf_list , "alias")));

  test_assert_true( workflow_is_instance( ert_workflow_list_add_workflow( wf_list , "WF2" , "WF")));
  test_assert_int_equal( 2 , ert_workflow_list_get_size( wf_list ));
  test_assert_true( ert_workflow_list_has_workflow( wf_list , "WF"));
  test_assert_true( ert_workflow_list_has_workflow( wf_list , "alias"));
  test_assert_true( workflow_is_instance( ert_workflow_list_get_workflow( wf_list , "WF")));
  test_assert_true( workflow_is_instance( ert_workflow_list_get_workflow( wf_list , "alias")));

  test_work_area_free( work_area );
}