* burden of maintainance @ 2015-10-01 8:10 Andreas Röhler 2015-10-01 16:03 ` Eli Zaretskii 2015-10-01 16:34 ` Przemysław Wojnowski 0 siblings, 2 replies; 42+ messages in thread From: Andreas Röhler @ 2015-10-01 8:10 UTC (permalink / raw) To: emacs-devel Hi folks, as the burden of maintainance was mentioned: from reading the bug-reports got the impression, a more strict test-regime might reduce that. If a bug shows up, the first question should be: how it could survive the tests? Current commit-policy seems still a bit away from that. Will not being in favor of formalistic code-coverage technics, Andreas ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 8:10 burden of maintainance Andreas Röhler @ 2015-10-01 16:03 ` Eli Zaretskii 2015-10-01 18:46 ` Andreas Röhler ` (2 more replies) 2015-10-01 16:34 ` Przemysław Wojnowski 1 sibling, 3 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-01 16:03 UTC (permalink / raw) To: Andreas Röhler; +Cc: emacs-devel > Date: Thu, 01 Oct 2015 10:10:18 +0200 > From: Andreas Röhler <andreas.roehler@online.de> > > as the burden of maintainance was mentioned: from reading the > bug-reports got the impression, a more strict test-regime might reduce that. > > If a bug shows up, the first question should be: how it could survive > the tests? > Current commit-policy seems still a bit away from that. > > Will not being in favor of formalistic code-coverage technics, Suggestions for how to improve our test suite without alienating potential contributors are welcome. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 16:03 ` Eli Zaretskii @ 2015-10-01 18:46 ` Andreas Röhler 2015-10-01 19:09 ` Eli Zaretskii 2015-10-02 7:51 ` Helmut Eller 2015-10-02 11:58 ` Phillip Lord 2 siblings, 1 reply; 42+ messages in thread From: Andreas Röhler @ 2015-10-01 18:46 UTC (permalink / raw) To: emacs-devel; +Cc: Eli Zaretskii Am 01.10.2015 um 18:03 schrieb Eli Zaretskii: >> Date: Thu, 01 Oct 2015 10:10:18 +0200 >> From: Andreas Röhler <andreas.roehler@online.de> >> >> as the burden of maintainance was mentioned: from reading the >> bug-reports got the impression, a more strict test-regime might reduce that. >> >> If a bug shows up, the first question should be: how it could survive >> the tests? >> Current commit-policy seems still a bit away from that. >> >> Will not being in favor of formalistic code-coverage technics, > Suggestions for how to improve our test suite without alienating > potential contributors are welcome. > > What about saying: no checkin before the tests passed? Coverage and quality of tests should be an integral part of developing. WRT to maintainance there are also redundancy, complexity which might be worked on. Keeping an eye at the number of symbols - too many blow up the language, make in harder for beginners than needed. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 18:46 ` Andreas Röhler @ 2015-10-01 19:09 ` Eli Zaretskii 2015-10-01 20:18 ` Andreas Röhler 2015-10-02 13:54 ` Przemysław Wojnowski 0 siblings, 2 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-01 19:09 UTC (permalink / raw) To: Andreas Röhler; +Cc: emacs-devel > Date: Thu, 01 Oct 2015 20:46:15 +0200 > From: Andreas Röhler <andreas.roehler@online.de> > CC: Eli Zaretskii <eliz@gnu.org> > > > Suggestions for how to improve our test suite without alienating > > potential contributors are welcome. > > What about saying: no checkin before the tests passed? That is OK, but what to do if some tests fail for many moons before they are fixed? We cannot stop development because of that. > Coverage and quality of tests should be an integral part of developing. That's the hard part. Our current coverage is quite low (my impression; it would be good to have some tool that can measure that). Worse, for interactive features (and there are a lot of them), we lack the infrastructure for writing automated tests. Also, I don't quite see who will write tests for large portions of the C code, given how few people are even prepared to work on that. The result is that getting closer to good coverage is a huge job. > WRT to maintainance there are also redundancy, complexity which might be > worked on. Alas, there are wildly different views on what is and isn't complex. > Keeping an eye at the number of symbols - too many blow up the language, > make in harder for beginners than needed. Which symbols did you have in mind? ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 19:09 ` Eli Zaretskii @ 2015-10-01 20:18 ` Andreas Röhler 2015-10-01 20:27 ` Eli Zaretskii 2015-10-02 13:54 ` Przemysław Wojnowski 1 sibling, 1 reply; 42+ messages in thread From: Andreas Röhler @ 2015-10-01 20:18 UTC (permalink / raw) To: emacs-devel; +Cc: Eli Zaretskii Am 01.10.2015 um 21:09 schrieb Eli Zaretskii: >> Date: Thu, 01 Oct 2015 20:46:15 +0200 >> From: Andreas Röhler <andreas.roehler@online.de> >> CC: Eli Zaretskii <eliz@gnu.org> >> >>> Suggestions for how to improve our test suite without alienating >>> potential contributors are welcome. >> What about saying: no checkin before the tests passed? > That is OK, but what to do if some tests fail for many moons before > they are fixed? We cannot stop development because of that. Let's understand tests as valid ones and checkins as non-trivial. It would suffice to put intelligent test-writing into the focus - where it's not yet or not yet to extend it deserves. > >> Coverage and quality of tests should be an integral part of developing. > That's the hard part. Our current coverage is quite low (my > impression; it would be good to have some tool that can measure > that). Worse, for interactive features (and there are a lot of them), > we lack the infrastructure for writing automated tests. Let's note that. > Also, I don't > quite see who will write tests for large portions of the C code, given > how few people are even prepared to work on that. Estimating one hour invested in writing the right tests might save ten-fold or more of development time afterwards. > The result is that > getting closer to good coverage is a huge job. > >> WRT to maintainance there are also redundancy, complexity which might be >> worked on. > Alas, there are wildly different views on what is and isn't complex. > >> Keeping an eye at the number of symbols - too many blow up the language, >> make in harder for beginners than needed. > Which symbols did you have in mind? > > > Not a special one at the moment. Just got the feeling the collection of used symbols were growing and growing last years. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 20:18 ` Andreas Röhler @ 2015-10-01 20:27 ` Eli Zaretskii 0 siblings, 0 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-01 20:27 UTC (permalink / raw) To: Andreas Röhler; +Cc: emacs-devel > Date: Thu, 01 Oct 2015 22:18:16 +0200 > From: Andreas Röhler <andreas.roehler@online.de> > CC: Eli Zaretskii <eliz@gnu.org> > > It would suffice to put intelligent test-writing into the focus - where > it's not yet or not yet to extend it deserves. This is a volunteer effort. Nothing gets done by putting some issues into the focus: you cannot tell anyone to do something because it's in focus. The only way things get moved in Emacs is when volunteers step forward and take tasks upon themselves. So the issue at hand is how to attract contributors to writing tests. It's not a decision-making problem, it's a leadership and team-management problem. > > Also, I don't > > quite see who will write tests for large portions of the C code, given > > how few people are even prepared to work on that. > > Estimating one hour invested in writing the right tests might save > ten-fold or more of development time afterwards. I agree. But it's not enough to agree, there's a need to actually do it. > Not a special one at the moment. Just got the feeling the collection of > used symbols were growing and growing last years. My take of this is that many people here disagree with you about this being a bad thing. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 19:09 ` Eli Zaretskii 2015-10-01 20:18 ` Andreas Röhler @ 2015-10-02 13:54 ` Przemysław Wojnowski 2015-10-02 14:15 ` Eli Zaretskii 1 sibling, 1 reply; 42+ messages in thread From: Przemysław Wojnowski @ 2015-10-02 13:54 UTC (permalink / raw) To: Eli Zaretskii, Andreas Röhler; +Cc: emacs-devel >>> Suggestions for how to improve our test suite without alienating >>> potential contributors are welcome. I would say that without tests they are alienated. It's much harder to contribute anything without test coverage. >> What about saying: no checkin before the tests passed? > > That is OK, but what to do if some tests fail for many moons before > they are fixed? We cannot stop development because of that. Everyone should run tests before push. Even though they sometimes fail for various reasons (someone forgot, different env). In such case the person is notified and should fix that before doing any other work. Usually if it cannot be done within a few hours (a day) the commit is reverted or test marked as ignored (sometimes it's a faulty test). I've seen that "procedure" in many projects and it worked fine. Of course it is not welded and can be customized to suite Emacs development. > Worse, for interactive features (and there are a lot of them), > we lack the infrastructure for writing automated tests. Can you give an example? Of course not everything can be tested, but many things can. IMHO it's a matter of restructuring the code. If interactive functions try to do work by themselves then it is hard, but if they only take input and pass to another component (for example like in MVC pattern) then it's much easier. > Also, I don't > quite see who will write tests for large portions of the C code, given > how few people are even prepared to work on that. The result is that > getting closer to good coverage is a huge job. Everything starts somewhere and a good start would be to add a C testing library and enabling it in tests. This would at least enable those willing to write tests. Currently they can't, even if they would like to. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 13:54 ` Przemysław Wojnowski @ 2015-10-02 14:15 ` Eli Zaretskii 2015-10-02 17:18 ` Tassilo Horn 0 siblings, 1 reply; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 14:15 UTC (permalink / raw) To: Przemysław Wojnowski; +Cc: andreas.roehler, emacs-devel > Cc: emacs-devel@gnu.org > From: Przemysław Wojnowski <esperanto@cumego.com> > Date: Fri, 2 Oct 2015 15:54:08 +0200 > > >>> Suggestions for how to improve our test suite without alienating > >>> potential contributors are welcome. > I would say that without tests they are alienated. It's much harder to > contribute anything without test coverage. That's a misunderstanding. I explained what I meant in a later message. > >> What about saying: no checkin before the tests passed? > > > > That is OK, but what to do if some tests fail for many moons before > > they are fixed? We cannot stop development because of that. > > Everyone should run tests before push. > Even though they sometimes fail for various reasons (someone forgot, > different env). In such case the person is notified and should fix that > before doing any other work. Usually if it cannot be done within a few > hours (a day) the commit is reverted or test marked as ignored > (sometimes it's a faulty test). > > I've seen that "procedure" in many projects and it worked fine. Me too. But we are not talking about theoretical feasibility. > Of course it is not welded and can be customized to suite Emacs > development. I'm okay with that, if everyone agrees. You should know, though, that Emacs development up until now is VERY different from such projects: we have no strictly codified process for committing and patch reviews, never had one. Introducing such mandatory procedures is a big change. > > Worse, for interactive features (and there are a lot of them), > > we lack the infrastructure for writing automated tests. > Can you give an example? Of course not everything can be tested, but > many things can. We are mis-communicating again: I meant features which display something or involve interactive keyboard input. > a good start would be to add a C testing library and enabling it in > tests. I agree. I hope someone will volunteer to make this happen. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 14:15 ` Eli Zaretskii @ 2015-10-02 17:18 ` Tassilo Horn 2015-10-02 18:24 ` Eli Zaretskii 0 siblings, 1 reply; 42+ messages in thread From: Tassilo Horn @ 2015-10-02 17:18 UTC (permalink / raw) To: Eli Zaretskii; +Cc: andreas.roehler, Przemysław Wojnowski, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Can you give an example? Of course not everything can be tested, but >> many things can. > > We are mis-communicating again: I meant features which display > something or involve interactive keyboard input. Emacs is in a better position here than most other tools because it has keyboard macros and can easily inspect the things it displays, e.g., the text properties or overlays at point. I can think of something like "ERT keyboard-macro tests" where you would basically record a keyboard macro and during that, you have some way to add some assertions before resuming recording. The whole recorded thing could then be stored as an ERT test. Bye, Tassilo ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 17:18 ` Tassilo Horn @ 2015-10-02 18:24 ` Eli Zaretskii 2015-10-02 18:47 ` joakim ` (2 more replies) 0 siblings, 3 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 18:24 UTC (permalink / raw) To: Tassilo Horn; +Cc: andreas.roehler, esperanto, emacs-devel > From: Tassilo Horn <tsdh@gnu.org> > Cc: Przemysław Wojnowski <esperanto@cumego.com>, > andreas.roehler@online.de, emacs-devel@gnu.org > Date: Fri, 02 Oct 2015 19:18:08 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> Can you give an example? Of course not everything can be tested, but > >> many things can. > > > > We are mis-communicating again: I meant features which display > > something or involve interactive keyboard input. > > Emacs is in a better position here than most other tools because it has > keyboard macros and can easily inspect the things it displays, e.g., the > text properties or overlays at point. We may be mis-communicating here. Because I cannot see how examining text properties or overlays can test whether their display on screen is correct. What am I missing? Can you show an example of what you had in mind? If we are talking about testing the display engine, it should be possible and relatively easy to provide Lisp access to the "glyph matrices", which are data structures the display engine builds that describe what _should_ be on the screen. You can see one specialized example of that in the function bidi-resolved-levels which I wrote for testing the bidirectional display. But doing the above is only half the way. The other half is the terminal-specific back-end, either X, w32, NS, or TTY, which actually converts the glyph matrices to draw commands and delivers the results to the glass. To test that, we need some way of "sniffing" the results of this drawing, which requires terminal-specific infrastructure. We then need some "language" to describe the expected results to be displayed on the screen. For TTY, this is almost trivial, but for sophisticated GUI display features it's more complicated (think of fonts, stretches of white space, composed characters, fringe bitmaps, tool-bar icons, tooltips, etc.). We also need a way of describing the results of cursor movement. When all of these are implemented, then yes, writing display tests should be relatively easy. But today all this infrastructure doesn't exist. We don't even have its detailed design. > I can think of something like "ERT keyboard-macro tests" where you would > basically record a keyboard macro and during that, you have some way to > add some assertions before resuming recording. The whole recorded thing > could then be stored as an ERT test. For testing keyboard input, we need more than that. For example, consider the simple feature of input history -- you'd need a way to inject M-p, M-n, etc., and a way of recording the text that is displayed as result and returned to the caller. And please don't forget that keyboard input is only one kind of events supported by Emacs. There are others, starting with mouse. We'd need ways to simulate or trigger all of them. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 18:24 ` Eli Zaretskii @ 2015-10-02 18:47 ` joakim 2015-10-02 19:16 ` Tassilo Horn 2015-10-02 19:28 ` Chad Brown 2 siblings, 0 replies; 42+ messages in thread From: joakim @ 2015-10-02 18:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: esperanto, emacs-devel, andreas.roehler, Tassilo Horn Eli Zaretskii <eliz@gnu.org> writes: >> From: Tassilo Horn <tsdh@gnu.org> >> Cc: Przemysław Wojnowski <esperanto@cumego.com>, >> andreas.roehler@online.de, emacs-devel@gnu.org >> Date: Fri, 02 Oct 2015 19:18:08 +0200 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> >> Can you give an example? Of course not everything can be tested, but >> >> many things can. >> > >> > We are mis-communicating again: I meant features which display >> > something or involve interactive keyboard input. >> >> Emacs is in a better position here than most other tools because it has >> keyboard macros and can easily inspect the things it displays, e.g., the >> text properties or overlays at point. > > We may be mis-communicating here. Because I cannot see how examining > text properties or overlays can test whether their display on screen > is correct. What am I missing? Can you show an example of what you > had in mind? As a data point, there is an interesting GUI test toolkit called Sikuli, It uses the OpenCV computer vision toolkit to analyze that the display matches expectations. Sikuli is free software if I recall correctly. > > If we are talking about testing the display engine, it should be > possible and relatively easy to provide Lisp access to the "glyph > matrices", which are data structures the display engine builds that > describe what _should_ be on the screen. You can see one specialized > example of that in the function bidi-resolved-levels which I wrote for > testing the bidirectional display. > > But doing the above is only half the way. The other half is the > terminal-specific back-end, either X, w32, NS, or TTY, which actually > converts the glyph matrices to draw commands and delivers the results > to the glass. To test that, we need some way of "sniffing" the > results of this drawing, which requires terminal-specific > infrastructure. > > We then need some "language" to describe the expected results to be > displayed on the screen. For TTY, this is almost trivial, but for > sophisticated GUI display features it's more complicated (think of > fonts, stretches of white space, composed characters, fringe bitmaps, > tool-bar icons, tooltips, etc.). We also need a way of describing the > results of cursor movement. > > When all of these are implemented, then yes, writing display tests > should be relatively easy. But today all this infrastructure doesn't > exist. We don't even have its detailed design. > >> I can think of something like "ERT keyboard-macro tests" where you would >> basically record a keyboard macro and during that, you have some way to >> add some assertions before resuming recording. The whole recorded thing >> could then be stored as an ERT test. > > For testing keyboard input, we need more than that. For example, > consider the simple feature of input history -- you'd need a way to > inject M-p, M-n, etc., and a way of recording the text that is > displayed as result and returned to the caller. > > And please don't forget that keyboard input is only one kind of events > supported by Emacs. There are others, starting with mouse. We'd need > ways to simulate or trigger all of them. > > -- Joakim Verona ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 18:24 ` Eli Zaretskii 2015-10-02 18:47 ` joakim @ 2015-10-02 19:16 ` Tassilo Horn 2015-10-02 20:53 ` Eli Zaretskii 2015-10-02 19:28 ` Chad Brown 2 siblings, 1 reply; 42+ messages in thread From: Tassilo Horn @ 2015-10-02 19:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: andreas.roehler, esperanto, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> > We are mis-communicating again: I meant features which display >> > something or involve interactive keyboard input. >> >> Emacs is in a better position here than most other tools because it >> has keyboard macros and can easily inspect the things it displays, >> e.g., the text properties or overlays at point. > > We may be mis-communicating here. Because I cannot see how examining > text properties or overlays can test whether their display on screen > is correct. What am I missing? Can you show an example of what you > had in mind? No, if something is actually displayed correctly cannot be tested like so. What I had in mind were things like testing if fontification works properly by checking if the 'face property is set to some expected face when point is one some keyword. > If we are talking about testing the display engine, it should be > possible and relatively easy to provide Lisp access to the "glyph > matrices", which are data structures the display engine builds that > describe what _should_ be on the screen. You can see one specialized > example of that in the function bidi-resolved-levels which I wrote for > testing the bidirectional display. > > But doing the above is only half the way. The other half is the > terminal-specific back-end, either X, w32, NS, or TTY, which actually > converts the glyph matrices to draw commands and delivers the results > to the glass. To test that, we need some way of "sniffing" the > results of this drawing, which requires terminal-specific > infrastructure. > > We then need some "language" to describe the expected results to be > displayed on the screen. For TTY, this is almost trivial, but for > sophisticated GUI display features it's more complicated (think of > fonts, stretches of white space, composed characters, fringe bitmaps, > tool-bar icons, tooltips, etc.). We also need a way of describing the > results of cursor movement. > > When all of these are implemented, then yes, writing display tests > should be relatively easy. But today all this infrastructure doesn't > exist. We don't even have its detailed design. That's obviously not what I've head in mind. But I don't think that's an area where we need a special focus on tests. At least I have the feeling that there are only few bugs wrt. the display engine. >> I can think of something like "ERT keyboard-macro tests" where you >> would basically record a keyboard macro and during that, you have >> some way to add some assertions before resuming recording. The whole >> recorded thing could then be stored as an ERT test. > > For testing keyboard input, we need more than that. For example, > consider the simple feature of input history -- you'd need a way to > inject M-p, M-n, etc., and a way of recording the text that is > displayed as result and returned to the caller. > > And please don't forget that keyboard input is only one kind of events > supported by Emacs. There are others, starting with mouse. We'd need > ways to simulate or trigger all of them. Yes, eventually. But it would at least be a first step. And this hypothetical recorder could also be exposed to the user for creating replayable recipes for bugs they report. Where a tester would add assertions, the user would just write what he's expecting, and whoever fixes the bug could easily turn the string into assertions, and voila, there's the regression test for the bug. Bye, Tassilo ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 19:16 ` Tassilo Horn @ 2015-10-02 20:53 ` Eli Zaretskii 0 siblings, 0 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 20:53 UTC (permalink / raw) To: Tassilo Horn; +Cc: andreas.roehler, esperanto, emacs-devel > From: Tassilo Horn <tsdh@gnu.org> > Cc: esperanto@cumego.com, andreas.roehler@online.de, emacs-devel@gnu.org > Date: Fri, 02 Oct 2015 21:16:58 +0200 > > > When all of these are implemented, then yes, writing display tests > > should be relatively easy. But today all this infrastructure doesn't > > exist. We don't even have its detailed design. > > That's obviously not what I've head in mind. But I don't think that's > an area where we need a special focus on tests. At least I have the > feeling that there are only few bugs wrt. the display engine. I wish this were true. Bugs are still being reported, albeit at a low frequency. But a good test suite is required not only to find existing bugs, it is also required to be sure changes we make to introduce new features don't introduce bugs in what was previously correct behavior. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 18:24 ` Eli Zaretskii 2015-10-02 18:47 ` joakim 2015-10-02 19:16 ` Tassilo Horn @ 2015-10-02 19:28 ` Chad Brown 2 siblings, 0 replies; 42+ messages in thread From: Chad Brown @ 2015-10-02 19:28 UTC (permalink / raw) To: emacs-devel; +Cc: Eli Zaretskii, Tassilo Horn > On 02 Oct 2015, at 11:24, Eli Zaretskii <eliz@gnu.org> wrote: > >> From: Tassilo Horn <tsdh@gnu.org> >> Cc: Przemysław Wojnowski <esperanto@cumego.com>, >> andreas.roehler@online.de, emacs-devel@gnu.org >> Date: Fri, 02 Oct 2015 19:18:08 +0200 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >>>> Can you give an example? Of course not everything can be tested, but >>>> many things can. >>> >>> We are mis-communicating again: I meant features which display >>> something or involve interactive keyboard input. >> >> Emacs is in a better position here than most other tools because it has >> keyboard macros and can easily inspect the things it displays, e.g., the >> text properties or overlays at point. > > We may be mis-communicating here. Because I cannot see how examining > text properties or overlays can test whether their display on screen > is correct. What am I missing? Can you show an example of what you > had in mind? I believe that Tassilo is talking about tests in the vein of “does the buffer report containing the expected characters, in the expected order, with the expected properties, etc”, rather than “are the expected pixels on the display the expected colors at the expected times”. Similarly, tools exist to automate testing with a synthetic mouse and keyboard. I had some experience with this kind of testing a long while back (roughly, 1995-2000). There are tools that can be used to automate tests of GUIs, but they were (I think still are, but I’m not current) fairly deeply complicated - that is, they use their own fairly extensive language and idiom. It would take significant effort to learn these test harnesses, especially if one wanted to drive them from elisp (unless the SotA has changed more than I think - which is possible). That said, we found that we could get quite a lot of benefit out of automated testing that basically ignored the gui. I suspect that emacs could see roughly the same - while there are issues that require testing the gui, there are also a great many that don’t. Looking over the recent archives for emacs-devel, it seems like a majority of topics would fall into this “can ignore the gui” category. This might be enough to get emacs started toward a more test-driven development model. Hope that helps, ~Chad ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 16:03 ` Eli Zaretskii 2015-10-01 18:46 ` Andreas Röhler @ 2015-10-02 7:51 ` Helmut Eller 2015-10-02 8:47 ` Eli Zaretskii 2015-10-02 11:58 ` Phillip Lord 2 siblings, 1 reply; 42+ messages in thread From: Helmut Eller @ 2015-10-02 7:51 UTC (permalink / raw) To: emacs-devel On Thu, Oct 01 2015, Eli Zaretskii wrote: > Suggestions for how to improve our test suite without alienating > potential contributors are welcome. For a start, fix bug#16853. Second, make it easy to run the test suite in non-batch mode as it's impossible to test display related issues in batch mode alone. Perhaps use Screen or Xvfb to run the display code without physically displaying anything. Third, add a construct like HANDLER-BIND in Common Lisp that runs the condition handler without unwinding the stack. ERT rebinds `debugger' for this purpose but IMO it's very ugly and obviously interferes with the normal debugger. Helmut ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 7:51 ` Helmut Eller @ 2015-10-02 8:47 ` Eli Zaretskii 2015-10-02 8:56 ` Helmut Eller 0 siblings, 1 reply; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 8:47 UTC (permalink / raw) To: Helmut Eller; +Cc: emacs-devel > From: Helmut Eller <eller.helmut@gmail.com> > Date: Fri, 02 Oct 2015 09:51:43 +0200 > > On Thu, Oct 01 2015, Eli Zaretskii wrote: > > > Suggestions for how to improve our test suite without alienating > > potential contributors are welcome. > > For a start, fix bug#16853. Why that particular bug? We have lots of open bugs; what's special about that one. > Second, make it easy to run the test suite in non-batch mode It's already possible, I do that quite a lot. What doesn't work for you? > as it's impossible to test display related issues in batch mode > alone. Perhaps use Screen or Xvfb to run the display code without > physically displaying anything. These are X- and Unix-specific, AFAIK. And even on those systems, we'll need a lot of infrastructure built on top of that, before it will be reasonably practical to write display-related tests. I hope someone will volunteer to do that. In any case, the problem is not with actually displaying something, the problem is how to compare that with some "expected results". (Assuming you were talking about testing the display engine.) ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 8:47 ` Eli Zaretskii @ 2015-10-02 8:56 ` Helmut Eller 2015-10-02 8:59 ` Eli Zaretskii 2015-10-02 11:46 ` Michael Albinus 0 siblings, 2 replies; 42+ messages in thread From: Helmut Eller @ 2015-10-02 8:56 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Oct 02 2015, Eli Zaretskii wrote: >> From: Helmut Eller <eller.helmut@gmail.com> >> Date: Fri, 02 Oct 2015 09:51:43 +0200 >> >> On Thu, Oct 01 2015, Eli Zaretskii wrote: >> >> > Suggestions for how to improve our test suite without alienating >> > potential contributors are welcome. >> >> For a start, fix bug#16853. > > Why that particular bug? We have lots of open bugs; what's special > about that one. I thought you were interested in suggestion to improve something but as usual you aren't. My mistake; should know that my now. >> Second, make it easy to run the test suite in non-batch mode > > It's already possible, I do that quite a lot. What doesn't work for > you? bug#16853. Helmut ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 8:56 ` Helmut Eller @ 2015-10-02 8:59 ` Eli Zaretskii 2015-10-02 11:46 ` Michael Albinus 1 sibling, 0 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 8:59 UTC (permalink / raw) To: Helmut Eller; +Cc: emacs-devel > From: Helmut Eller <eller.helmut@gmail.com> > Cc: emacs-devel@gnu.org > Date: Fri, 02 Oct 2015 10:56:32 +0200 > > On Fri, Oct 02 2015, Eli Zaretskii wrote: > > >> From: Helmut Eller <eller.helmut@gmail.com> > >> Date: Fri, 02 Oct 2015 09:51:43 +0200 > >> > >> On Thu, Oct 01 2015, Eli Zaretskii wrote: > >> > >> > Suggestions for how to improve our test suite without alienating > >> > potential contributors are welcome. > >> > >> For a start, fix bug#16853. > > > > Why that particular bug? We have lots of open bugs; what's special > > about that one. > > I thought you were interested in suggestion to improve something but as > usual you aren't. My mistake; should know that my now. I thought you'd learn to behave in a civilized manner, instead of being your usual rude self. My mistake; should have known better and refrained to take the bait. > >> Second, make it easy to run the test suite in non-batch mode > > > > It's already possible, I do that quite a lot. What doesn't work for > > you? > > bug#16853. You publicly asked me to shut up and stop waisting your time about that bug, so someone else will have to do that in my stead. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 8:56 ` Helmut Eller 2015-10-02 8:59 ` Eli Zaretskii @ 2015-10-02 11:46 ` Michael Albinus 1 sibling, 0 replies; 42+ messages in thread From: Michael Albinus @ 2015-10-02 11:46 UTC (permalink / raw) To: Helmut Eller; +Cc: Eli Zaretskii, emacs-devel Helmut Eller <eller.helmut@gmail.com> writes: >>> Second, make it easy to run the test suite in non-batch mode >> >> It's already possible, I do that quite a lot. What doesn't work for >> you? > > bug#16853. You can always run one test interactively, by pressing "r". It's not a fix of your problem, but your problem is not a show-stopper. > Helmut Best regards, Michael. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 16:03 ` Eli Zaretskii 2015-10-01 18:46 ` Andreas Röhler 2015-10-02 7:51 ` Helmut Eller @ 2015-10-02 11:58 ` Phillip Lord 2015-10-02 13:14 ` Artur Malabarba ` (2 more replies) 2 siblings, 3 replies; 42+ messages in thread From: Phillip Lord @ 2015-10-02 11:58 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Andreas Röhler, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Date: Thu, 01 Oct 2015 10:10:18 +0200 >> From: Andreas Röhler <andreas.roehler@online.de> >> >> as the burden of maintainance was mentioned: from reading the >> bug-reports got the impression, a more strict test-regime might reduce that. >> >> If a bug shows up, the first question should be: how it could survive >> the tests? >> Current commit-policy seems still a bit away from that. >> >> Will not being in favor of formalistic code-coverage technics, > > Suggestions for how to improve our test suite without alienating > potential contributors are welcome. I think for many potential contributors a richer test suite is likely to lessen alienation rather than increase it. Still, you asked for ways to improve it. Here is my suggestion: [phillord@...src/large/emacs]$ make test make: Nothing to be done for `test'. I would rename "check" to "test" and add "test" to .PHONY. I didn't even know that Emacs had an automated test suite until one of the elongated threads that Eric inspired here about six months ago. Phil ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 11:58 ` Phillip Lord @ 2015-10-02 13:14 ` Artur Malabarba 2015-10-02 13:36 ` Eli Zaretskii 2015-10-02 23:24 ` Xue Fuqiao 2 siblings, 0 replies; 42+ messages in thread From: Artur Malabarba @ 2015-10-02 13:14 UTC (permalink / raw) To: Phillip Lord; +Cc: Eli Zaretskii, Andreas Röhler, emacs-devel 2015-10-02 12:58 GMT+01:00 Phillip Lord <phillip.lord@russet.org.uk>: > Still, you asked for ways to improve it. Here is my suggestion: > > [phillord@...src/large/emacs]$ make test > make: Nothing to be done for `test'. Good point. Would anyone object to adding a trivial test entry to the makefile? ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 11:58 ` Phillip Lord 2015-10-02 13:14 ` Artur Malabarba @ 2015-10-02 13:36 ` Eli Zaretskii 2015-10-02 15:00 ` Andreas Röhler 2015-10-03 0:38 ` Eric Ludlam 2015-10-02 23:24 ` Xue Fuqiao 2 siblings, 2 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 13:36 UTC (permalink / raw) To: Phillip Lord; +Cc: andreas.roehler, emacs-devel > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: Andreas Röhler <andreas.roehler@online.de>, > <emacs-devel@gnu.org> > Date: Fri, 02 Oct 2015 12:58:48 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > > Suggestions for how to improve our test suite without alienating > > potential contributors are welcome. > > I think for many potential contributors a richer test suite is likely to > lessen alienation rather than increase it. I meant if we require each contributor to accompany each commit with a test, that could prevent quite a few from contributing. > Still, you asked for ways to improve it. Here is my suggestion: > > [phillord@...src/large/emacs]$ make test > make: Nothing to be done for `test'. > > I would rename "check" to "test" and add "test" to .PHONY. Feel free to make such a change, and TIA. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 13:36 ` Eli Zaretskii @ 2015-10-02 15:00 ` Andreas Röhler 2015-10-02 15:16 ` Eli Zaretskii 2015-10-03 0:38 ` Eric Ludlam 1 sibling, 1 reply; 42+ messages in thread From: Andreas Röhler @ 2015-10-02 15:00 UTC (permalink / raw) To: Eli Zaretskii, Phillip Lord; +Cc: emacs-devel Am 02.10.2015 um 15:36 schrieb Eli Zaretskii: > I meant if we require each contributor to accompany each commit with a > test, that could prevent quite a few from contributing. Not just require, but let's say: for the time being, every committer should be encuraged to asked the related part for test coverage. Notably not stupid tests for all and everything, but the core parts. If there is no test, writing the test before any other proceeding should save a lot of time. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 15:00 ` Andreas Röhler @ 2015-10-02 15:16 ` Eli Zaretskii 2015-10-02 17:19 ` Andreas Röhler 0 siblings, 1 reply; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 15:16 UTC (permalink / raw) To: Andreas Röhler; +Cc: emacs-devel, phillip.lord > Date: Fri, 02 Oct 2015 17:00:01 +0200 > From: Andreas Röhler <andreas.roehler@online.de> > CC: emacs-devel@gnu.org > > Am 02.10.2015 um 15:36 schrieb Eli Zaretskii: > > I meant if we require each contributor to accompany each commit with a > > test, that could prevent quite a few from contributing. > > Not just require, but let's say: for the time being, > every committer should be encuraged to asked the related part for test > coverage. That we already do, although we could do it more. > If there is no test, writing the test before any other proceeding should > save a lot of time. I agree. The problem is in practice, not in principle. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 15:16 ` Eli Zaretskii @ 2015-10-02 17:19 ` Andreas Röhler 2015-10-02 18:08 ` Eli Zaretskii 2015-10-03 1:38 ` Richard Stallman 0 siblings, 2 replies; 42+ messages in thread From: Andreas Röhler @ 2015-10-02 17:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, phillip.lord Am 02.10.2015 um 17:16 schrieb Eli Zaretskii: >> Date: Fri, 02 Oct 2015 17:00:01 +0200 >> From: Andreas Röhler <andreas.roehler@online.de> >> CC: emacs-devel@gnu.org >> >> Am 02.10.2015 um 15:36 schrieb Eli Zaretskii: >>> I meant if we require each contributor to accompany each commit with a >>> test, that could prevent quite a few from contributing. >> Not just require, but let's say: for the time being, >> every committer should be encuraged to asked the related part for test >> coverage. > That we already do, although we could do it more. > >> If there is no test, writing the test before any other proceeding should >> save a lot of time. > I agree. The problem is in practice, not in principle. > > What about creating a co-maintainance WRT code-quality? ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 17:19 ` Andreas Röhler @ 2015-10-02 18:08 ` Eli Zaretskii 2015-10-02 18:54 ` Andreas Röhler 2015-10-03 1:38 ` Richard Stallman 1 sibling, 1 reply; 42+ messages in thread From: Eli Zaretskii @ 2015-10-02 18:08 UTC (permalink / raw) To: Andreas Röhler; +Cc: emacs-devel, phillip.lord > Date: Fri, 02 Oct 2015 19:19:31 +0200 > From: Andreas Röhler <andreas.roehler@online.de> > CC: phillip.lord@russet.org.uk, emacs-devel@gnu.org > > >> If there is no test, writing the test before any other proceeding should > >> save a lot of time. > > I agree. The problem is in practice, not in principle. > > > > > > What about creating a co-maintainance WRT code-quality? Good idea. We will need a clear description of the job and one or more volunteers. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 18:08 ` Eli Zaretskii @ 2015-10-02 18:54 ` Andreas Röhler 2015-10-02 20:39 ` Tassilo Horn 0 siblings, 1 reply; 42+ messages in thread From: Andreas Röhler @ 2015-10-02 18:54 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, phillip.lord Am 02.10.2015 um 20:08 schrieb Eli Zaretskii: >> Date: Fri, 02 Oct 2015 19:19:31 +0200 >> From: Andreas Röhler <andreas.roehler@online.de> >> CC: phillip.lord@russet.org.uk, emacs-devel@gnu.org >> >>>> If there is no test, writing the test before any other proceeding should >>>> save a lot of time. >>> I agree. The problem is in practice, not in principle. >>> >>> >> What about creating a co-maintainance WRT code-quality? > Good idea. We will need a clear description of the job and one or > more volunteers. > > Also considerably pay-off should be gained by reducing redundancy - just reading org-mode related comment in thread "Should we just start dumping cl-lib?" ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 18:54 ` Andreas Röhler @ 2015-10-02 20:39 ` Tassilo Horn 2015-10-03 6:53 ` Andreas Röhler 0 siblings, 1 reply; 42+ messages in thread From: Tassilo Horn @ 2015-10-02 20:39 UTC (permalink / raw) To: Andreas Röhler; +Cc: Eli Zaretskii, phillip.lord, emacs-devel Andreas Röhler <andreas.roehler@online.de> writes: > Also considerably pay-off should be gained by reducing redundancy - > just reading org-mode related comment in thread "Should we just start > dumping cl-lib?" Org, Gnus, AUCTeX and friends define org/gnus/TeX-* duplicates of standard functions because for compatibility with older emacs versions and XEmacs. Bye, Tassilo ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 20:39 ` Tassilo Horn @ 2015-10-03 6:53 ` Andreas Röhler 2015-10-03 7:31 ` Tassilo Horn 0 siblings, 1 reply; 42+ messages in thread From: Andreas Röhler @ 2015-10-03 6:53 UTC (permalink / raw) To: Eli Zaretskii, emacs-devel, phillip.lord Am 02.10.2015 um 22:39 schrieb Tassilo Horn: > Andreas Röhler <andreas.roehler@online.de> writes: > >> Also considerably pay-off should be gained by reducing redundancy - >> just reading org-mode related comment in thread "Should we just start >> dumping cl-lib?" > Org, Gnus, AUCTeX and friends define org/gnus/TeX-* duplicates of > standard functions because for compatibility with older emacs versions > and XEmacs. > > Okay, understand the endeavour, but does this make sense? If the modes don't agree with core-policy, wouldn't it be better to reach a solution for all by discussion and decision-making? Cheers, Andreas ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-03 6:53 ` Andreas Röhler @ 2015-10-03 7:31 ` Tassilo Horn 0 siblings, 0 replies; 42+ messages in thread From: Tassilo Horn @ 2015-10-03 7:31 UTC (permalink / raw) To: Andreas Röhler; +Cc: Eli Zaretskii, phillip.lord, emacs-devel Andreas Röhler <andreas.roehler@online.de> writes: >>> Also considerably pay-off should be gained by reducing redundancy - >>> just reading org-mode related comment in thread "Should we just start >>> dumping cl-lib?" >> Org, Gnus, AUCTeX and friends define org/gnus/TeX-* duplicates of >> standard functions because for compatibility with older emacs versions >> and XEmacs. > > Okay, understand the endeavour, but does this make sense? Well, as long as you want to support more than just the very recent GNU Emacs versions, I don't see a better approach. But yes, it's problematic. > If the modes don't agree with core-policy, wouldn't it be better to > reach a solution for all by discussion and decision-making? Yes, in theory, and I think we are very careful in decision-making. However, package developers cannot decide which kind and version of emacs their users are using. Most of them use the version that ships with their distro/OS. For example, OSX still ships emacs 22 and that won't change because AFAIK they don't ship GPLv3 software (and therefore they also ship an ancient version of bash). Long story short: keeping backward compatibility is horrible, horrible, horrible, and the world would be a better place if just everybody would use the current emacs version. ;-) Bye, Tassilo ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 17:19 ` Andreas Röhler 2015-10-02 18:08 ` Eli Zaretskii @ 2015-10-03 1:38 ` Richard Stallman 1 sibling, 0 replies; 42+ messages in thread From: Richard Stallman @ 2015-10-03 1:38 UTC (permalink / raw) To: Andreas Röhler; +Cc: eliz, phillip.lord, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > What about creating a co-maintainance WRT code-quality? Let's discuss questions like this AFTER we have a new maintainer team that can make decisions about them. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 13:36 ` Eli Zaretskii 2015-10-02 15:00 ` Andreas Röhler @ 2015-10-03 0:38 ` Eric Ludlam 1 sibling, 0 replies; 42+ messages in thread From: Eric Ludlam @ 2015-10-03 0:38 UTC (permalink / raw) To: Eli Zaretskii, Phillip Lord; +Cc: andreas.roehler, emacs-devel On 10/02/2015 09:36 AM, Eli Zaretskii wrote: >> From: phillip.lord@russet.org.uk (Phillip Lord) >> Cc: Andreas Röhler <andreas.roehler@online.de>, >> <emacs-devel@gnu.org> >> Date: Fri, 02 Oct 2015 12:58:48 +0100 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >>> Suggestions for how to improve our test suite without alienating >>> potential contributors are welcome. >> >> I think for many potential contributors a richer test suite is likely to >> lessen alienation rather than increase it. > > I meant if we require each contributor to accompany each commit with a > test, that could prevent quite a few from contributing. CEDET on SF has a pretty extensive test suite, and I still include fixes from folks without a test, usually adding a little test along the way. Fortunately for me, many of the test harnesses I've written make it trivial to add new points to it. For smart completion for example, you can edit a test input file with a new location to try completion, and stick the answer next to it in a comment for that language. The SRecode tests are usually just writing a template and adding a name to a list to try out new features there. No need to write complex logic stuff. A side effect is that new contributors who come by have been adding tests without me asking, which is super awesome! A large part of that is having a rich test suite to copy from to make new tests easier. So, that is my recommendation. If more tests are desired in a particular area, a smart harness will allow a new feature to be tested quickly. The best case is it can be tested by adding a text file somewhere that can be pulled in and processed. The opposite is the eieio test suite which is long and all about complex lisp structures to test it out. That kind of infrastructure is a bit harder to simplify. Eric ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 11:58 ` Phillip Lord 2015-10-02 13:14 ` Artur Malabarba 2015-10-02 13:36 ` Eli Zaretskii @ 2015-10-02 23:24 ` Xue Fuqiao 2015-10-03 6:42 ` Przemysław Wojnowski 2 siblings, 1 reply; 42+ messages in thread From: Xue Fuqiao @ 2015-10-02 23:24 UTC (permalink / raw) To: Phillip Lord; +Cc: Eli Zaretskii, Andreas Röhler, Emacs-devel On Fri, Oct 2, 2015 at 7:58 PM, Phillip Lord <phillip.lord@russet.org.uk> wrote: > [phillord@...src/large/emacs]$ make test > make: Nothing to be done for `test'. > > > I would rename "check" to "test" and add "test" to .PHONY. I didn't > even know that Emacs had an automated test suite until one of the > elongated threads that Eric inspired here about six months ago. "make check" is part of the GNU Coding Standards. See: * https://www.gnu.org/prep/standards/html_node/Standard-Targets.html#Standard-Targets * https://www.gnu.org/software/automake/manual/html_node/Standard-Targets.html#Standard-Targets * https://www.gnu.org/software/make/manual/html_node/Standard-Targets.html#Standard-Targets So IMHO an alias (instead of renaming "check" to "test") would be better. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 23:24 ` Xue Fuqiao @ 2015-10-03 6:42 ` Przemysław Wojnowski 2015-10-03 7:00 ` Xue Fuqiao 2015-10-03 7:15 ` Eli Zaretskii 0 siblings, 2 replies; 42+ messages in thread From: Przemysław Wojnowski @ 2015-10-03 6:42 UTC (permalink / raw) To: Xue Fuqiao, Phillip Lord; +Cc: Eli Zaretskii, Andreas Röhler, Emacs-devel > "make check" is part of the GNU Coding Standards. See: Maybe it should be changed to conform to the rest of the world, making it intuitive at the same time. IMHO the name should reveal its intent and "check" doesn't tell what is it checking (maybe whether environment is ready for compilation?). "make test" is understandable and intuitive, especially to anyone who has any experience building software in other environments. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-03 6:42 ` Przemysław Wojnowski @ 2015-10-03 7:00 ` Xue Fuqiao 2015-10-03 7:15 ` Eli Zaretskii 1 sibling, 0 replies; 42+ messages in thread From: Xue Fuqiao @ 2015-10-03 7:00 UTC (permalink / raw) To: Przemysław Wojnowski Cc: Eli Zaretskii, Emacs-devel, Andreas Röhler, Phillip Lord On Sat, Oct 3, 2015 at 2:42 PM, Przemysław Wojnowski <esperanto@cumego.com> wrote: >> "make check" is part of the GNU Coding Standards. See: > > Maybe it should be changed to conform to the rest of the world, making > it intuitive at the same time. > > IMHO the name should reveal its intent and "check" doesn't tell what is > it checking (maybe whether environment is ready for compilation?). I think (but I'm not sure) most users who can compile software with `configure' followed by `make' know that `configure' scans the build environment and tests whether environment is ready for compilation. > "make test" is understandable and intuitive, especially to anyone who > has any experience building software in other environments. I agree that "make test" is intuitive. I'll start a discussion on bug-standards@gnu.org. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-03 6:42 ` Przemysław Wojnowski 2015-10-03 7:00 ` Xue Fuqiao @ 2015-10-03 7:15 ` Eli Zaretskii 1 sibling, 0 replies; 42+ messages in thread From: Eli Zaretskii @ 2015-10-03 7:15 UTC (permalink / raw) To: Przemysław Wojnowski Cc: xfq.free, emacs-devel, andreas.roehler, phillip.lord > Cc: Eli Zaretskii <eliz@gnu.org>, Andreas Röhler > <andreas.roehler@online.de>, Emacs-devel <emacs-devel@gnu.org> > From: Przemysław Wojnowski <esperanto@cumego.com> > Date: Sat, 3 Oct 2015 08:42:58 +0200 > > > "make check" is part of the GNU Coding Standards. See: > Maybe it should be changed to conform to the rest of the world, making > it intuitive at the same time. > > IMHO the name should reveal its intent and "check" doesn't tell what is > it checking (maybe whether environment is ready for compilation?). > > "make test" is understandable and intuitive, especially to anyone who > has any experience building software in other environments. If they both do the same, we have the best of all worlds, no? So why continue arguing? ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 8:10 burden of maintainance Andreas Röhler 2015-10-01 16:03 ` Eli Zaretskii @ 2015-10-01 16:34 ` Przemysław Wojnowski 2015-10-02 11:25 ` Phillip Lord 1 sibling, 1 reply; 42+ messages in thread From: Przemysław Wojnowski @ 2015-10-01 16:34 UTC (permalink / raw) To: emacs-devel > as the burden of maintainance was mentioned: from reading the > bug-reports got the impression, a more strict test-regime might reduce > that. > > If a bug shows up, the first question should be: how it could survive > the tests? +1 In previous project I joined a team that couldn't do any release in 4 years. I've introduced automated tests and refactoring among other things and after 2 years we were releasing 4 times a year, with 3 times less defects, found much sooner in release cycle and they were easier to fix. Some people here work in academia so maybe don't have such experiences, but in software industry automated tests are a standard. Projects without (or with weak) tests are replaced with those having strong tests. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-01 16:34 ` Przemysław Wojnowski @ 2015-10-02 11:25 ` Phillip Lord 2015-10-02 12:27 ` Michael Albinus 2015-10-03 1:35 ` Richard Stallman 0 siblings, 2 replies; 42+ messages in thread From: Phillip Lord @ 2015-10-02 11:25 UTC (permalink / raw) To: Przemysław Wojnowski; +Cc: emacs-devel Przemysław Wojnowski <esperanto@cumego.com> writes: >> as the burden of maintainance was mentioned: from reading the >> bug-reports got the impression, a more strict test-regime might reduce >> that. >> >> If a bug shows up, the first question should be: how it could survive >> the tests? > > +1 > > In previous project I joined a team that couldn't do any release in 4 > years. I've introduced automated tests and refactoring among other > things and after 2 years we were releasing 4 times a year, with 3 times > less defects, found much sooner in release cycle and they were easier > to fix. > > Some people here work in academia so maybe don't have such experiences, > but in software industry automated tests are a standard. Projects > without (or with weak) tests are replaced with those having strong > tests. Well some of us work in academia and still have this experience anyway, which is why I write tests for most of my own Emacs packages. WRT Emacs, I think, that testing would be a good thing but there are a couple of hurdles to overcome. First, most of Emacs doesn't have tests, simply because it predates widespread use of testing. Secondly, Emacs use of global state (current-buffer!) can make testing quite difficult; combined with the reality that some of the functions are pretty large, and will be difficult to retrofit tests onto, I think this is quite an issue. And, thirdly, testing of interactive programs is difficult anyway; the difficulty of writing tests in this environment is much higher, and the payback lower. We can have more than one maintainer. Someone who wanted to just concentrate on getting a nightly build infrastructure running, with email to emacs-diffs, and then starting to add fixtures and some other frameworks to ert would be valuable addition to the process. Phil ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 11:25 ` Phillip Lord @ 2015-10-02 12:27 ` Michael Albinus 2015-10-02 14:53 ` Phillip Lord 2015-10-03 1:35 ` Richard Stallman 1 sibling, 1 reply; 42+ messages in thread From: Michael Albinus @ 2015-10-02 12:27 UTC (permalink / raw) To: Phillip Lord; +Cc: Przemysław Wojnowski, emacs-devel phillip.lord@russet.org.uk (Phillip Lord) writes: > Someone who wanted to just concentrate on getting a nightly build > infrastructure running, with email to emacs-diffs, and then starting > to add fixtures and some other frameworks to ert would be valuable > addition to the process. What's wrong with hydra and the emacs-buildstatus ML? <http://hydra.nixos.org/jobset/gnu/emacs-trunk> <http://lists.gnu.org/archive/html/emacs-buildstatus> > Phil Best regards, Michael. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 12:27 ` Michael Albinus @ 2015-10-02 14:53 ` Phillip Lord 2015-10-02 16:56 ` Michael Albinus 0 siblings, 1 reply; 42+ messages in thread From: Phillip Lord @ 2015-10-02 14:53 UTC (permalink / raw) To: Michael Albinus; +Cc: Przemysław Wojnowski, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > phillip.lord@russet.org.uk (Phillip Lord) writes: > >> Someone who wanted to just concentrate on getting a nightly build >> infrastructure running, with email to emacs-diffs, and then starting >> to add fixtures and some other frameworks to ert would be valuable >> addition to the process. > > What's wrong with hydra and the emacs-buildstatus ML? > > <http://hydra.nixos.org/jobset/gnu/emacs-trunk> Is is running the tests? From the logs it doesn't appear to be. Which is unfortunate because although I can ./configure;make from trunk but at the moment the tests on trunk are failing. At least on my machine. Does it do ELPA as well? And branches would be good. > <http://lists.gnu.org/archive/html/emacs-buildstatus> Didn't know about this. My apologies! Phil ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 14:53 ` Phillip Lord @ 2015-10-02 16:56 ` Michael Albinus 0 siblings, 0 replies; 42+ messages in thread From: Michael Albinus @ 2015-10-02 16:56 UTC (permalink / raw) To: Phillip Lord; +Cc: Przemysław Wojnowski, emacs-devel phillip.lord@russet.org.uk (Phillip Lord) writes: >> What's wrong with hydra and the emacs-buildstatus ML? >> >> <http://hydra.nixos.org/jobset/gnu/emacs-trunk> > > Is is running the tests? > > From the logs it doesn't appear to be. Which is unfortunate because > although I can ./configure;make from trunk but at the moment the tests > on trunk are failing. At least on my machine. Yes, the ERT tests run on hydra. Check the "coverage" job of a test run, for example <http://hydra.nixos.org/build/26534891>. In the log file, you see also the output of a "make check" call. > Does it do ELPA as well? And branches would be good. No, it doesn't check ELPA packages. I'm sure that such a contribution from a volunteer would be welcome. Branches are not checked, except the emacs-24 branch while we were in pretest. This has been stalled meanwhile, because nothing happens in this branch now. > Phil Best regards, Michael. ^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: burden of maintainance 2015-10-02 11:25 ` Phillip Lord 2015-10-02 12:27 ` Michael Albinus @ 2015-10-03 1:35 ` Richard Stallman 1 sibling, 0 replies; 42+ messages in thread From: Richard Stallman @ 2015-10-03 1:35 UTC (permalink / raw) To: Phillip Lord; +Cc: esperanto, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Looking for how to improve testing is useful, but it is tangential to finding a new maintainer team, and that is what we really need now. Let's focus mainly on that. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 42+ messages in thread
end of thread, other threads:[~2015-10-03 7:31 UTC | newest] Thread overview: 42+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-10-01 8:10 burden of maintainance Andreas Röhler 2015-10-01 16:03 ` Eli Zaretskii 2015-10-01 18:46 ` Andreas Röhler 2015-10-01 19:09 ` Eli Zaretskii 2015-10-01 20:18 ` Andreas Röhler 2015-10-01 20:27 ` Eli Zaretskii 2015-10-02 13:54 ` Przemysław Wojnowski 2015-10-02 14:15 ` Eli Zaretskii 2015-10-02 17:18 ` Tassilo Horn 2015-10-02 18:24 ` Eli Zaretskii 2015-10-02 18:47 ` joakim 2015-10-02 19:16 ` Tassilo Horn 2015-10-02 20:53 ` Eli Zaretskii 2015-10-02 19:28 ` Chad Brown 2015-10-02 7:51 ` Helmut Eller 2015-10-02 8:47 ` Eli Zaretskii 2015-10-02 8:56 ` Helmut Eller 2015-10-02 8:59 ` Eli Zaretskii 2015-10-02 11:46 ` Michael Albinus 2015-10-02 11:58 ` Phillip Lord 2015-10-02 13:14 ` Artur Malabarba 2015-10-02 13:36 ` Eli Zaretskii 2015-10-02 15:00 ` Andreas Röhler 2015-10-02 15:16 ` Eli Zaretskii 2015-10-02 17:19 ` Andreas Röhler 2015-10-02 18:08 ` Eli Zaretskii 2015-10-02 18:54 ` Andreas Röhler 2015-10-02 20:39 ` Tassilo Horn 2015-10-03 6:53 ` Andreas Röhler 2015-10-03 7:31 ` Tassilo Horn 2015-10-03 1:38 ` Richard Stallman 2015-10-03 0:38 ` Eric Ludlam 2015-10-02 23:24 ` Xue Fuqiao 2015-10-03 6:42 ` Przemysław Wojnowski 2015-10-03 7:00 ` Xue Fuqiao 2015-10-03 7:15 ` Eli Zaretskii 2015-10-01 16:34 ` Przemysław Wojnowski 2015-10-02 11:25 ` Phillip Lord 2015-10-02 12:27 ` Michael Albinus 2015-10-02 14:53 ` Phillip Lord 2015-10-02 16:56 ` Michael Albinus 2015-10-03 1:35 ` Richard Stallman
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).