[Gluster-devel] Cmockery2 in GlusterFS

Luis Pabón lpabon at redhat.com
Tue Jul 22 11:05:45 UTC 2014


I understand that when something is new and different, it is most likely 
blamed for anything wrong that happens.  I highly propose that we do not 
do this, and instead work to learn more about the tool.

Cmockery2 is a tool that is important as the compiler.  It provides an 
extremely easy method to determine the quality of the software after it 
has been constructed, and therefore it has been made to be a requirement 
of the build.  Making it optional undermines its importance, and could 
in turn make it useless.

Cmockery2 is available for all supported EPEL/Fedora versions.  For any 
other distribution or operating system, it takes about 3 mins to 
download and compile.

Please let me know if you have any other questions.

- Luis

On 07/22/2014 02:23 AM, Lalatendu Mohanty wrote:
> On 07/21/2014 10:48 PM, Harshavardhana wrote:
>> Cmockery2 is a hard dependency before GlusterFS can be compiled in
>> upstream master now - we could make it conditional
>> and enable if necessary? since we know we do not have the cmockery2
>> packages available on all systems?
>
> +1, we need to make it conditional and enable it if necessary.  I am 
> also not sure if we have "cmockery2-devel" in el5, el6. If not Build 
> will fail.
>
>> On Mon, Jul 21, 2014 at 10:16 AM, Luis Pabon <lpabon at redhat.com> wrote:
>>> Niels you are correct. Let me take a look.
>>>
>>> Luis
>>>
>>>
>>> -----Original Message-----
>>> From: Niels de Vos [ndevos at redhat.com]
>>> Received: Monday, 21 Jul 2014, 10:41AM
>>> To: Luis Pabon [lpabon at redhat.com]
>>> CC: Anders Blomdell [anders.blomdell at control.lth.se];
>>> gluster-devel at gluster.org
>>> Subject: Re: [Gluster-devel] Cmockery2 in GlusterFS
>>>
>>>
>>> On Mon, Jul 21, 2014 at 04:27:18PM +0200, Anders Blomdell wrote:
>>>> On 2014-07-21 16:17, Anders Blomdell wrote:
>>>>> On 2014-07-20 16:01, Niels de Vos wrote:
>>>>>> On Fri, Jul 18, 2014 at 02:52:18PM -0400, Luis Pabón wrote:
>>>>>>> Hi all,
>>>>>>>      A few months ago, the unit test framework based on 
>>>>>>> cmockery2 was
>>>>>>> in the repo for a little while, then removed while we improved the
>>>>>>> packaging method.  Now support for cmockery2 (
>>>>>>> http://review.gluster.org/#/c/7538/ ) has been merged into the repo
>>>>>>> again.  This will most likely require you to install cmockery2 on
>>>>>>> your development systems by doing the following:
>>>>>>>
>>>>>>> * Fedora/EPEL:
>>>>>>> $ sudo yum -y install cmockery2-devel
>>>>>>>
>>>>>>> * All other systems please visit the following page:
>>>>>>> https://github.com/lpabon/cmockery2/blob/master/doc/usage.md#installation 
>>>>>>>
>>>>>>>
>>>>>>> Here is also some information about Cmockery2 and how to use it:
>>>>>>>
>>>>>>> * Introduction to Unit Tests in C Presentation:
>>>>>>> http://slides-lpabon.rhcloud.com/feb24_glusterfs_unittest.html#/
>>>>>>> * Cmockery2 Usage Guide:
>>>>>>> https://github.com/lpabon/cmockery2/blob/master/doc/usage.md
>>>>>>> * Using Cmockery2 with GlusterFS:
>>>>>>> https://github.com/gluster/glusterfs/blob/master/doc/hacker-guide/en-US/markdown/unittest.md 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> When starting out writing unit tests, I would suggest writing unit
>>>>>>> tests for non-xlator interface files when you start. Once you feel
>>>>>>> more comfortable writing unit tests, then move to writing them for
>>>>>>> the xlators interface files.
>>>>>> Awesome, many thanks! I'd like to add some unittests for the RPC and
>>>>>> NFS
>>>>>> layer. Several functions (like ip-address/netmask matching for ACLs)
>>>>>> look very suitable.
>>>>>>
>>>>>> Did you have any particular functions in mind that you would like to
>>>>>> see
>>>>>> unittests for? If so, maybe you can file some bugs for the different
>>>>>> tests so that we won't forget about it? Depending on the tests, 
>>>>>> these
>>>>>> bugs may get the EasyFix keyword if there is a clear description and
>>>>>> some pointers to examples.
>>>>> Looks like parts of cmockery was forgotten in glusterfs.spec.in:
>>>>>
>>>>> # rpm -q -f  `which gluster`
>>>>> glusterfs-cli-3.7dev-0.9.git5b8de97.fc20.x86_64
>>>>> # ldd `which gluster`
>>>>>       linux-vdso.so.1 =>  (0x00007ffff4dfe000)
>>>>>       libglusterfs.so.0 => /lib64/libglusterfs.so.0 
>>>>> (0x00007fe034cc4000)
>>>>>       libreadline.so.6 => /lib64/libreadline.so.6 
>>>>> (0x00007fe034a7d000)
>>>>>       libncurses.so.5 => /lib64/libncurses.so.5 (0x00007fe034856000)
>>>>>       libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fe03462c000)
>>>>>       libgfxdr.so.0 => /lib64/libgfxdr.so.0 (0x00007fe034414000)
>>>>>       libgfrpc.so.0 => /lib64/libgfrpc.so.0 (0x00007fe0341f8000)
>>>>>       libxml2.so.2 => /lib64/libxml2.so.2 (0x00007fe033e8f000)
>>>>>       libz.so.1 => /lib64/libz.so.1 (0x00007fe033c79000)
>>>>>       libm.so.6 => /lib64/libm.so.6 (0x00007fe033971000)
>>>>>       libdl.so.2 => /lib64/libdl.so.2 (0x00007fe03376d000)
>>>>>       libcmockery.so.0 => not found
>>>>>       libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe03354f000)
>>>>>       libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fe033168000)
>>>>>       libc.so.6 => /lib64/libc.so.6 (0x00007fe032da9000)
>>>>>       libcmockery.so.0 => not found
>>>>>       libcmockery.so.0 => not found
>>>>>       libcmockery.so.0 => not found
>>>>>       liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fe032b82000)
>>>>>       /lib64/ld-linux-x86-64.so.2 (0x00007fe0351f1000)
>>>>>
>>>>> Should I file a bug report or could someone on the fast-lane fix 
>>>>> this?
>>>> My bad (installation with --nodeps --force :-()
>>> Actually, I was not expecting a dependency on cmockery2. My
>>> understanding was that only some temporary test-applications would be
>>> linked with libcmockery and not any binaries that would get packaged in
>>> the RPMs.
>>>
>>> Luis, could you clarify that?
>>>
>>> Thanks,
>>> Niels
>>>
>>> _______________________________________________
>>> Gluster-devel mailing list
>>> Gluster-devel at gluster.org
>>> http://supercolony.gluster.org/mailman/listinfo/gluster-devel
>>>
>>
>>
>



More information about the Gluster-devel mailing list