<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Hey Sylvain,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">in order that others can see what you
      did / to bring back you changes to the origin, it would help alot
      to have a merge request. Label it as WIP, if it is working in
      process.<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">(Though currently xfce4-clipman-plugin
      is unmaintained, so dont expect a review / reply )</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">> I mean if I've to run it manually,
      it's not the idea I've about an automated test suite.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">No idea what was the intend behind
      these tests ... a pity that ther was no README in the test-folder.
      Would be great if you could figure out and open an according MR.<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">> So I suppose I can start
      anywhere...</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Yea, I think so. <a
        href="https://docs.gtk.org/glib/testing.html">https://docs.gtk.org/glib/testing.html</a>
      and automake probably are the right points to start looking.<br>
    </div>
    <br>
    <div class="moz-cite-prefix">> I also found: xfce-test and
      behave, but I don't know yet how to use it.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Here some info:
      <a class="moz-txt-link-freetext" href="https://wiki.xfce.org/testing/xfce-test">https://wiki.xfce.org/testing/xfce-test</a></div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Cheers,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Alex<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Am 27.12.21 um 08:36 schrieb Sylvain
      Viart:<br>
    </div>
    <blockquote type="cite"
      cite="mid:984fb97b-3add-ffe2-cffc-b67052285450@opensource-expert.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      Hi Alex,<b><br>
        <br>
      </b>I actually got some email problem, email from the list don't
      reach me anymore, I'm investigating.<br>
      I'm grabbing your answer from the webarchive in the meantime.<br>
      So you may try to CC to me too, if you think about it. 😉<br>
      <br>
      So sorry I didn't explain: secure Item is a feature I introduced
      in clipman from a personal need, the goal is to hide item content
      in clipman history when sending password to the clipboard. All
      details are explained in the gitlab fork <a
        moz-do-not-send="true"
href="https://gitlab.xfce.org/Sylvain/xfce4-clipman-plugin/-/blob/dev-refactor-indexes/README.md">README</a>.
      The open issue that relates to my need was: <a
href="https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin/-/issues/25"
        data-original="xfce issue #25" data-link="true"
        data-link-reference="true" data-project="42" data-issue="617"
        data-reference-type="issue" data-container="body"
        data-placement="top" title="Support timeout while copying to
        clipboard" class="gfm gfm-issue has-tooltip"
        moz-do-not-send="true">xfce issue #25.</a><br>
      The secure item are them removed automatically from clipman.
      Though, for more versatility it's done outside clipman code from
      the cli in bash example script I wrote. <br>
      <br>
      To achieve my goal I had to hack much more that I though
      initially, and probably I also took much pleasure hacking
      opensource code too. ;-)<br>
      Especially I did introduce dbus remote process call code, for
      changing in memory data from a command line tool.<br>
      <br>
      <br>
      I would love to discuss more about it, but in another email
      thread.<br>
      Going back to unit testing and automated testing more generally.<br>
      <br>
      <blockquote type="cite">Though it might be relevant to your
        investigations that "make check" in<br>
        the test-folder generated some binaries which can be executed</blockquote>
      <br>
      Thanks, about this Makefile target, I saw it plus the individual
      binaries target too. But I can't figure out yet how to test it
      afterward.<br>
      I mean if I've to run it manually, it's not the idea I've about an
      automated test suite.<br>
      <br>
      But, I also arrived to the same conclusion:  « most xfce
      components dont have tests »<br>
      So I suppose I can start anywhere...<br>
      <br>
      What I found:<br>
      <br>
      gtk testing: <a moz-do-not-send="true"
        href="https://docs.gtk.org/glib/testing.html">https://docs.gtk.org/glib/testing.html</a><br>
      Which in turn talks about meson or automake configuration to link
      it to the build tool chain, here it seems that the project (and
      probably most xfce projects) is using automake.<br>
      <br>
      So I will try to hack into it.<br>
      I found the related documentation in GNU automake doc: <a
        moz-do-not-send="true"
href="https://www.gnu.org/software/automake/manual/html_node/Use-TAP-with-the-Automake-test-harness.html">https://www.gnu.org/software/automake/manual/html_node/Use-TAP-with-the-Automake-test-harness.html</a><br>
      <br>
      It will take me some time to setup my first test, but I can go for
      it.<br>
      I will document everything, so interested developer could reuse my
      job on automating tests.<br>
      <br>
      I also found: xfce-test and behave, but I don't know yet how to
      use it.<br>
      I did successfully start xfce-test and rebuild my clipman version
      from the docker instance, but the GUI Xephyr freeze quite rapidly
      when it's not used.<br>
      And the xfce-test behave failed for now. May be a incompatible
      container version.<br>
      <br>
      Thanks for your feedback, I will progressively read all that doc
      and learn what to do, in order to setup a test suite. <br>
      <br>
      Regards,<br>
      Sylvain. <br>
      <b><br>
        <br>
        Alex</b> <a
href="mailto:xfce4-dev%40xfce.org?Subject=Re%3A%20unit%20test%20/%20run%20test%20in%20xfce%20code%20%28here%20clipman%29%3F&In-Reply-To=%3C0a7aa712-167e-3feb-2247-b9495dc4cf8d%40gmx.de%3E"
        title="unit test / run test in xfce code (here clipman)?"
        moz-do-not-send="true">acs82 at gmx.de </a><br>
      <i>Sun Dec 26 23:13:32 CET 2021</i>
      <ul>
        <li>Previous message (by thread): <a
href="https://mail.xfce.org/pipermail/xfce4-dev/2021-December/032888.html"
            moz-do-not-send="true">unit test / run test in xfce code
            (here clipman)? </a></li>
        <li> <b>Messages sorted by:</b> <a
href="https://mail.xfce.org/pipermail/xfce4-dev/2021-December/date.html#32889"
            moz-do-not-send="true">[ date ]</a> <a
href="https://mail.xfce.org/pipermail/xfce4-dev/2021-December/thread.html#32889"
            moz-do-not-send="true">[ thread ]</a> <a
href="https://mail.xfce.org/pipermail/xfce4-dev/2021-December/subject.html#32889"
            moz-do-not-send="true">[ subject ]</a> <a
href="https://mail.xfce.org/pipermail/xfce4-dev/2021-December/author.html#32889"
            moz-do-not-send="true">[ author ]</a> </li>
      </ul>
      <hr>
      <pre>Hi Sylvain,

I have not much idea of clipman, nor do I know much about
default-structures for tests (afaik most xfce components dont have tests)

Though it might be relevant to your investigations that "make check" in
the test-folder generated some binaries which can be executed.

It's not clear to me what "secure item feature" is .. is there an open
issue for it ?

Cheers,
Alex

Am 26.12.21 um 08:28 schrieb Sylvain Viart:
><i> Hi,
</i>><i>
</i>><i> I've produced a consequent code modification in clipman to add secure
</i>><i> item feature
</i>><i> <<a href="https://gitlab.xfce.org/Sylvain/xfce4-clipman-plugin/-/tree/dev-refactor-indexes" moz-do-not-send="true">https://gitlab.xfce.org/Sylvain/xfce4-clipman-plugin/-/tree/dev-refactor-indexes</a>>.
</i>><i> I now test it personally at full time since September 2021, it's
</i>><i> useful and doesn't crash.
</i>><i>
</i>><i> I would like to add test, or more tests, because there's a tests folder.
</i>><i> But I'm not sure how it should be done, nor how to automate test.
</i>><i>
</i>><i> I didn't find Makefile target like: make test
</i>><i>
</i>><i> Could you explain me how you add test to the code structure?
</i>><i>
</i>><i> What I already get, which doesn't explain about unit-testing strategy.
</i>><i>
</i>><i> <a href="https://wiki.xfce.org/dev/howto/panel_plugins#testing_and_releasing_the_plugin" moz-do-not-send="true">https://wiki.xfce.org/dev/howto/panel_plugins#testing_and_releasing_the_plugin</a>
</i>><i> <<a href="https://wiki.xfce.org/dev/howto/panel_plugins#testing_and_releasing_the_plugin" moz-do-not-send="true">https://wiki.xfce.org/dev/howto/panel_plugins#testing_and_releasing_the_plugin</a>>
</i>><i>
</i>><i>
</i>><i>
</i>><i> Basically I produced a new data structure to handle index of element,
</i>><i> an indexed double linked list:
</i>><i>
</i>><i> index:   [   0     ,       1   ,       2   ]
</i>><i>              |             |           |
</i>><i> list:        |             |           |
</i>><i>              |             |           |
</i>><i>              |             |           |
</i>><i> head ->   [item1] <=>  [item2] <=> [item3]
</i>><i>
</i>><i> Which allow me to access any element by id, and I also maintain a
</i>><i> circular indexes, reusing freed index and clipman history resizing.
</i>><i> I would like to refactor the code and extract the data structure from
</i>><i> the history and to keep it under tests, because pointer and indexes
</i>><i> already gave me some strong
</i>><i> debugging sessions. So I learned remote debugging 😁
</i>><i>
</i>><i> Do you have some rules about testing to follow, or could I introduce
</i>><i> any Makefile target I want?
</i>><i> Do you have to project example to give me that introduces testing in
</i>><i> its code base? So I could borrow the code structure.</i></pre>
      <pre class="moz-signature" cols="72">--
Sylvain Viart - GNU/Linux Sysadmin/Developer/DevOps - France</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Xfce4-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Xfce4-dev@xfce.org">Xfce4-dev@xfce.org</a>
<a class="moz-txt-link-freetext" href="https://mail.xfce.org/mailman/listinfo/xfce4-dev">https://mail.xfce.org/mailman/listinfo/xfce4-dev</a></pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>