OSDN Git Service

2019/04/12(Fri) 05:49
authorKoine Yuusuke(koinec) <koinec@users.osdn.me>
Thu, 11 Apr 2019 20:49:25 +0000 (05:49 +0900)
committerKoine Yuusuke(koinec) <koinec@users.osdn.me>
Thu, 11 Apr 2019 20:49:25 +0000 (05:49 +0900)
 (LibGoblin)
  * WorkBackup

include/libgoblin.h
libgoblin/drd64_libgoblin_api.c
libgoblin/test_libgoblin.c
libgoblin/test_libgoblin_proginfo.c
libgoblin/test_libgoblin_readbin.c

index d80776a..a25f3bb 100644 (file)
@@ -74,10 +74,6 @@ LIBGOBLIN_API
        int LibGoblin_LoadProgram_Main(
                                int i_pgid, const char *pstr_remotefull, const char *pstr_localfull );
 LIBGOBLIN_API
-       int LibGoblin_AllocBinInfo( int i_pgid, const char *pstr_filename );
-LIBGOBLIN_API
-       int LibGoblin_FreeBinInfo( int i_binfoid );
-LIBGOBLIN_API
        int LibGoblin_AllocProgInfo( void );
 LIBGOBLIN_API
        int LibGoblin_FreeProgInfo( int i_pgid );
index 0928ded..b132ef0 100644 (file)
@@ -227,52 +227,7 @@ int
 
 /***********************************************************************
 ***********************************************************************/
-LIBGOBLIN_API
-int
-       LibGoblin_AllocBinInfo(
-               int i_pgid,
-               const char *pstr_filename )
-{
-       LibGoblin_ProgramInfo   *p_pginfo       = NULL;
-       LibGoblin_BinaryInfo    *p_binfo        = NULL;
-
-       p_pginfo        = ProgInfo_GetProgInfo( i_pgid );
-
-       p_binfo = BinaryInfo_AllocBinInfo( p_pginfo, pstr_filename, -1 );
-       if( NULL == p_binfo )   {
-               return -0x01;
-       }
-
-       return p_binfo->i_id;
-}
-
-
-/***********************************************************************
-***********************************************************************/
-LIBGOBLIN_API
-int
-       LibGoblin_FreeBinInfo(
-               int i_binfoid )
-{
-       int             i_result;
-       LibGoblin_BinaryInfo    *p_binfo        = NULL;
-
-       p_binfo = BinaryInfo_GetBinInfo( i_binfoid );
-       if( NULL == p_binfo )   {
-               return -0x01;
-       }
-
-       i_result        = BinaryInfo_FreeBinInfo( p_binfo );
-       if( 0x00 != i_result )  {
-               return -0x02;
-       }
-
-       return i_result;
-}
-
-
-/***********************************************************************
-***********************************************************************/
+#define        FUNCID_LibGoblin_AllocProgInfo  0x11
 LIBGOBLIN_API_PROGINFO
 int
        LibGoblin_AllocProgInfo(
@@ -283,12 +238,21 @@ int
  
        p_pginfo        = ProgInfo_AllocProgInfo();
        if( NULL == p_pginfo )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibGoblin_AllocProgInfo ),
+                               errno, (QWord)p_pginfo, (QWord)0x00, __LINE__ );
                return -0x01;
        }
 
        i_result        = ObjectInfo_Init( p_pginfo, 0 );
        if( 0x00 != i_result )  {
                ProgInfo_FreeProgInfo( p_pginfo );      // None use return value.
+
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibGoblin_AllocProgInfo ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ );
                return -0x02;
        }
 
@@ -298,6 +262,7 @@ int
 
 /***********************************************************************
 ***********************************************************************/
+#define        FUNCID_LibGoblin_FreeProgInfo   0x12
 LIBGOBLIN_API_PROGINFO
 int
        LibGoblin_FreeProgInfo(
@@ -308,6 +273,10 @@ int
 
        p_pginfo        = ProgInfo_GetProgInfo( i_pgid );
        if( NULL == p_pginfo )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
+                               LOCATION( FUNCID_LibGoblin_FreeProgInfo ),
+                               errno, (QWord)p_pginfo, (QWord)0x00, __LINE__ );
                return -0x01;
        }
        assert( p_pginfo->i_id == i_pgid );
@@ -316,6 +285,10 @@ int
 
        i_result        = ProgInfo_FreeProgInfo( p_pginfo );
        if( 0x00 != i_result )  {
+               LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibGoblin_FreeProgInfo ),
+                               errno, (QWord)i_result, (QWord)0x00, __LINE__ );
                return -0x02;
        }
 
@@ -338,7 +311,7 @@ int
        i_err   = LibFileType_Init();
        if( 0x00 != i_err )             {
                LibBrownie_Error_SetErrorInfo(
-                               DRD64_ERROR( DRD64_ERROR_PTN_LIBCALL, 0x01, 0x01 ),
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
                                LOCATION( FUNCID_LibGoblin_Init ),
                                errno, (QWord)i_err, (QWord)0x00, __LINE__ );
                return i_err;
@@ -347,7 +320,7 @@ int
        i_err   = ProgInfo_Init();
        if( 0x00 != i_err )             {
                LibBrownie_Error_SetErrorInfo(
-                               DRD64_ERROR( DRD64_ERROR_PTN_LIBCALL, 0x01, 0x02 ),
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x02 ),
                                LOCATION( FUNCID_LibGoblin_Init ),
                                errno, (QWord)i_err, (QWord)0x00, __LINE__ );
                return i_err;
@@ -356,7 +329,7 @@ int
        i_err   = BinaryInfo_Init();
        if( 0x00 != i_err )             {
                LibBrownie_Error_SetErrorInfo(
-                               DRD64_ERROR( DRD64_ERROR_PTN_LIBCALL, 0x01, 0x03 ),
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x03 ),
                                LOCATION( FUNCID_LibGoblin_Init ),
                                errno, (QWord)i_err, (QWord)0x00, __LINE__ );
                return i_err;
@@ -379,7 +352,7 @@ int
        i_err   = BinaryInfo_Term();
        if( 0x00 != i_err )             {
                LibBrownie_Error_SetErrorInfo(
-                               DRD64_ERROR( DRD64_ERROR_PTN_LIBCALL, 0x01, 0x01 ),
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
                                LOCATION( FUNCID_LibGoblin_Term ),
                                errno, (QWord)i_err, (QWord)0x00, __LINE__ );
                return i_err;
@@ -388,7 +361,7 @@ int
        i_err   = ProgInfo_Term();
        if( 0x00 != i_err )             {
                LibBrownie_Error_SetErrorInfo(
-                               DRD64_ERROR( DRD64_ERROR_PTN_LIBCALL, 0x01, 0x02 ),
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x02 ),
                                LOCATION( FUNCID_LibGoblin_Term ),
                                errno, (QWord)i_err, (QWord)0x00, __LINE__ );
                return i_err;
@@ -397,7 +370,7 @@ int
        i_err   = LibFileType_Term();
        if( 0x00 != i_err )             {
                LibBrownie_Error_SetErrorInfo(
-                               DRD64_ERROR( DRD64_ERROR_PTN_LIBCALL, 0x01, 0x03 ),
+                               DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x03 ),
                                LOCATION( FUNCID_LibGoblin_Term ),
                                errno, (QWord)i_err, (QWord)0x00, __LINE__ );
                return i_err;
index 6033a55..cbf7859 100644 (file)
@@ -47,15 +47,19 @@ int
                char *argv[] )
 
 {
+       int             i_err;
        CU_initialize_registry();
 
+       // Module Test --------------
        Test_LibGoblin_System();
-       Test_LibGoblin_BinInfo();
        Test_LibGoblin_ProgInfo();
+       Test_LibGoblin_BinInfo();
        Test_LibGoblin_BinaryFile();
        Test_LibGoblin_SrcFile();
        Test_LibGoblin_ObjInfo();
        Test_LibGoblin_ReadBinary();
+
+       // Library Test -------------
        Test_LibGoblin_LoadProg();
 
        CU_basic_run_tests();
index 405b5cd..4b28605 100644 (file)
@@ -45,6 +45,9 @@ void Test_ProgInfo_AllocFree_test00_001( void )
 {
        int             i_bid;
        int             i_result;
+       
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
 
        i_result        = ProgInfo_Init();
        CU_ASSERT( 0x00 == i_result );
@@ -58,6 +61,8 @@ void Test_ProgInfo_AllocFree_test00_001( void )
        i_result        = ProgInfo_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
@@ -69,6 +74,9 @@ void Test_ProgInfo_AllocFree_test00_002( void )
        int             i_bid;
        int             i_result;
 
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = ProgInfo_Init();
        CU_ASSERT( 0x00 == i_result );
 
@@ -101,6 +109,8 @@ void Test_ProgInfo_AllocFree_test00_002( void )
        i_result        = ProgInfo_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
@@ -111,12 +121,17 @@ void Test_ProgInfo_InitTerm_test00_001( void )
 {
        int             i_result;
 
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = ProgInfo_Init();
        CU_ASSERT( 0x00 == i_result );
 
        i_result        = ProgInfo_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
index 7238d08..75de840 100644 (file)
@@ -43,17 +43,13 @@ Comment:
 /*--------------------------------------------------------------------*/
 void Test_ReadBinary_File_test00_001( void )
 {
-       int             i_binfoid;
        int             i_result;
        LibGoblin_BinaryInfo    *p_binfo;
 
        i_result        = LibGoblin_Init();
        CU_ASSERT( 0x00 == i_result );
 
-       i_binfoid       = LibGoblin_AllocBinInfo( -1, "dwarftest" );
-       CU_ASSERT( 0x00 == i_binfoid );
-
-       p_binfo = BinaryInfo_GetBinInfo( i_binfoid );
+       p_binfo = BinaryInfo_AllocBinInfo( NULL, "dwarftest", -1 );
        CU_ASSERT( NULL != p_binfo );
 
        i_result        = BinaryInfo_SetProgramPath( p_binfo, NULL, "../testdata" );
@@ -65,7 +61,7 @@ void Test_ReadBinary_File_test00_001( void )
        i_result        = ReadBinary_FreeBinary( p_binfo );
        CU_ASSERT( 0x00 == i_result );
 
-       i_result        = LibGoblin_FreeBinInfo( i_binfoid );
+       i_result        = BinaryInfo_FreeBinInfo( p_binfo );
        CU_ASSERT( 0x00 == i_result );
 
        i_result        = LibGoblin_Term();
@@ -78,17 +74,13 @@ void Test_ReadBinary_File_test00_001( void )
 /*--------------------------------------------------------------------*/
 void Test_ReadBinary_File_test00_002( void )
 {
-       int             i_binfoid;
        int             i_result;
        LibGoblin_BinaryInfo    *p_binfo;
 
        i_result        = LibGoblin_Init();
        CU_ASSERT( 0x00 == i_result );
 
-       i_binfoid       = LibGoblin_AllocBinInfo( -1, "dwarftest" );
-       CU_ASSERT( 0x00 == i_binfoid );
-
-       p_binfo = BinaryInfo_GetBinInfo( i_binfoid );
+       p_binfo = BinaryInfo_AllocBinInfo( NULL, "dwarftest", -1 );
        CU_ASSERT( NULL != p_binfo );
 
        i_result        = BinaryInfo_SetProgramPath( p_binfo,
@@ -101,7 +93,7 @@ void Test_ReadBinary_File_test00_002( void )
        i_result        = ReadBinary_FreeBinary( p_binfo );
        CU_ASSERT( 0x00 == i_result );
        
-       i_result        = LibGoblin_FreeBinInfo( i_binfoid );
+       i_result        = BinaryInfo_FreeBinInfo( p_binfo );
        CU_ASSERT( 0x00 == i_result );
 
        i_result        = LibGoblin_Term();
@@ -115,7 +107,6 @@ void Test_ReadBinary_File_test00_002( void )
 /*--------------------------------------------------------------------*/
 void Test_ReadBinary_Memory_test00_001( void )
 {
-       int             i_binfoid;
        int             i_result;
        int             i_fd;
        ssize_t sz_read;
@@ -126,10 +117,7 @@ void Test_ReadBinary_Memory_test00_001( void )
        i_result        = LibGoblin_Init();
        CU_ASSERT( 0x00 == i_result );
 
-       i_binfoid       = LibGoblin_AllocBinInfo( -1, "dwarftest" );
-       CU_ASSERT( 0x00 == i_binfoid );
-
-       p_binfo = BinaryInfo_GetBinInfo( i_binfoid );
+       p_binfo = BinaryInfo_AllocBinInfo( NULL, "dwarftest", -1 );
        CU_ASSERT( NULL != p_binfo );
 
        i_result        = BinaryInfo_SetProgramPath( p_binfo, NULL, "../testdata" );
@@ -156,7 +144,7 @@ void Test_ReadBinary_Memory_test00_001( void )
        free( pb_data );
        close( i_fd );
 
-       i_result        = LibGoblin_FreeBinInfo( i_binfoid );
+       i_result        = BinaryInfo_FreeBinInfo( p_binfo );
        CU_ASSERT( 0x00 == i_result );
 
        i_result        = LibGoblin_Term();