Hi Krishna —

Thanks for the follow-up discussion and reassurance that you're tracking the bigger questions. Your point about having reflection on module-scope methods as well as class-scope methods addresses the main concern I raised yesterday about class-based testing (the other concern being whether the procedure is the correct 'unit' for thinking about unit testing).

Another question I'm mentally wrestling with is whether reflection is the shortest path to these testing frameworks or not. It's difficult for me to imagine that the compiler will not play some role in unit testing (or at least, I haven't heard a model proposed that was completely independent of the compiler), so I find myself wrestling with the question of whether changing the compiler to support such reflection routines will be simpler / better than changing the compiler to do whatever it needs to do for unit testing. But the amount of work there could also depend heavily on how unit testing is expressed and run in Chapel (where I think a major open question relates to how unit testing will interact with running on multiple locales).

-Brad


On Thu, 23 May 2019, Krishna Kumar Dey wrote:

Hey Brad,

I agree with you that without having clear idea about the design of testing
framework we should not dive into the implementation of the features that I
have requested. Although our idea for creating these issues were not just
to get help in implementation but more to discuss about the unit test. I
and Lydia are in continuous discussion about the design of testing
framework and we also have thought about the module based tests. I think it
will be good if we could look at solutions for both module-based and
class-based tests. We should be looking for all type of users and as an
initial implementation giving both feature would be very helpful for the
developers.

Talking about module based tests I feel we may need a function that can
help us to return all the funtion of a module as strings and another
function which can call function given the name of function(string). These
are some of the feature I think we may need. I am sure we will come across
other useful requirements as we proceed with the discussion.

Thank you,
Krishna

On Thu, 23 May 2019, 4:23 am Brad Chamberlain, <[email protected]> wrote:


Hi Krishna —

Welcome to the project!

I think that the issues themselves are reasonable requests, though I also
think there are some challenges to making the two issues you filed today
be sufficient to support unit testing given other related challenges, like
the ones that Michael raised in the comments of #8326.

I also wanted to mention that when we discussed various approaches to unit
testing as a team a few weeks ago, there were definitely split opinions as
to whether or not a class+method-based approach is preferable.
Specifically, since Chapel isn't a pure OO language and significant codes
can be written without using classes, there was a desire among some of the
team members for a way to write unit tests that did not require creating a
class.  And if we had such a way, it raises the question for me as to
whether that would be sufficient to test code that did use classes as
well.

The combination of those two things would give me pause in diving into
these implementation tasks without a clear picture of what the unit
testing framework looks like, how it would work, and buy-in that it's what
the team and users want.  I know that Ben was wrestling with these
questions before leaving the other week, but am not clear how far he got.

Best wishes,
-Brad


On Wed, 22 May 2019, Krishna Kumar Dey wrote:

Hey All,

I am Krishna Kumar Dey, GSoC'19 student developer where I am working on
*Unit
Test Framework* for Chapel. While discussing with my mentors I came
across
the reflection module that I will be using for the project. This module
lacks a few functionalities which we need for the development of the
framework. I have created issues for the same. And I need your opinion
regarding these feature requests.

Issues:

  - Proposed support for Reflection functions that get number of methods
  of a class. #13069 <https://github.com/chapel-lang/chapel/issues/13069

  - Proposed support for Reflection functions that get name of method of
a
  class. #13068 <https://github.com/chapel-lang/chapel/issues/13068>
  - Call methods from method name in string #8326
  <https://github.com/chapel-lang/chapel/issues/13069>


--
Thank you,
Krishna Kumar Dey

<https://github.com/chapel-lang/chapel/issues/13069>

_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to