GridLab
Grid Application Toolkit

A simple API for Grid Applications
GAT

Menu



Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

logicalfile_addfile_tests.c

Go to the documentation of this file.
00001 /** @file logicalfile_addfile.c
00002  * Example of using the GAT to add a file to a logical file store.
00003  * 
00004  * Uses the GAT to add a file to a GATLogicalFile.
00005  * 
00006  * @date Fri Oct 17 2003
00007  * 
00008  * @version $Header: /export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/test/simple/logicalfile_addfile_tests.c,v 1.11 2004/04/20 17:04:59 hartmutkaiser Exp $
00009  *
00010  *  Copyright (C) Hartmut Kaiser
00011  *  This file is part of the GAT Engine.
00012  *  Contributed by Hartmut Kaiser <hartmutkaiser [at] t-online [dot] de>.
00013  *
00014  *  Use, modification and distribution is subject to the Gridlab Software
00015  *  License. (See accompanying file GLlicense.txt or copy at
00016  *  http://www.gridlab.org/GLlicense.txt)
00017  */
00018 
00019 static const char *rcsid = "$Header: /export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/test/simple/logicalfile_addfile_tests.c,v 1.11 2004/04/20 17:04:59 hartmutkaiser Exp $";
00020 
00021 
00022 /* System Header Files */
00023 
00024 #include <stdio.h>
00025 #include <stdlib.h>
00026 
00027 
00028 /* GAT Header Files */
00029 
00030 #include <GAT.h>
00031 #include <GATTestUtils.h>
00032 
00033 
00034 /* External functions */
00035 
00036 int main (void)
00037 {
00038   GATResult      retcode   = GAT_SUCCESS;
00039   GATContext     context   = NULL;
00040   const char*    store     = NULL;
00041   GATLocation    logfile   = NULL;
00042 
00043   GAT_TEST_INIT  (-1);
00044   GAT_TEST_SUITE ("Logical File")
00045 
00046   context = GATContext_Create ();
00047   GAT_TEST (NULL != context);
00048 
00049   /* the following test makes sure, that there were no errors during the 
00050      creation of the GATContext object */
00051   GAT_TEST_TRACE(GATType_GATContext == GATContext_GetType(context), context);
00052 
00053   store = GATTest_GetTempFileName ("gat_store");
00054   GAT_TEST_TRACE (NULL != store, context);
00055 
00056   logfile = GATLocation_Create (store);
00057   GAT_TEST_TRACE (NULL != logfile, context);
00058 
00059   {
00060     GATLocation    target    = NULL;
00061     GATFile        file      = NULL;
00062     GATLogicalFile filestore = NULL;
00063     const char*    src       = NULL;
00064 
00065     GAT_TEST_START ("Logical File AddFile Test (1)")
00066 
00067     src = GATTest_CreateTempFile ("gat_src");
00068     GAT_TEST_TRACE (NULL != src, context);
00069 
00070     target = GATLocation_Create (src);
00071     GAT_TEST_TRACE (NULL != target, context);
00072 
00073     filestore = GATLogicalFile_Create (context, logfile, 
00074                                       GATLogicalFileMode_Create, 0);
00075     GAT_TEST_TRACE (NULL != filestore, context);
00076     
00077     file = GATFile_Create (context, target, 0);
00078     GAT_TEST_TRACE (NULL != file, context);
00079     
00080     retcode = GATLogicalFile_AddFile(filestore, file);
00081     GAT_TEST_TRACE (GAT_SUCCESS == retcode, context);
00082 
00083     GAT_TEST_STOP ();
00084 
00085     GATFile_Destroy        (&file);
00086     GATLogicalFile_Destroy (&filestore);
00087     GATLocation_Destroy    (&target);
00088   }
00089   
00090   {
00091     const char*    url       = NULL;
00092     GATLocation    target_url = NULL;
00093     GATFile        file_url  = NULL;
00094     GATLogicalFile filestore = NULL;
00095 
00096     GAT_TEST_START ("Logical File AddFile Test (2)")
00097 
00098     url = GATTest_CreateTempFile ("gat_url");
00099     GAT_TEST_TRACE (NULL != url, context);
00100 
00101     target_url = GATLocation_Create (url);
00102     GAT_TEST_TRACE (NULL != target_url, context);
00103 
00104     file_url = GATFile_Create (context, target_url, 0);
00105     GAT_TEST_TRACE (NULL != file_url, context);
00106     
00107     filestore = GATLogicalFile_Create (context, logfile, 
00108                                       GATLogicalFileMode_Open, 0);
00109     GAT_TEST_TRACE (NULL != filestore, context);
00110 
00111     retcode = GATLogicalFile_AddFile(filestore, file_url);
00112     GAT_TEST_TRACE (GAT_SUCCESS == retcode, context);
00113 
00114     GAT_TEST_STOP ();
00115 
00116     GATFile_Destroy        (&file_url);
00117     GATLocation_Destroy    (&target_url);
00118     GATLogicalFile_Destroy (&filestore);
00119   }
00120   
00121   GATLocation_Destroy    (&logfile);
00122   GATContext_Destroy     (&context);
00123 
00124   GAT_TEST_FINISH();
00125   
00126   return (retcode);
00127 }
00128