emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Schulte <schulte.eric@gmail.com>
To: Martyn Jago <martyn.jago@btinternet.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [babel] BUG in :session
Date: Wed, 21 Sep 2011 20:23:24 -0600	[thread overview]
Message-ID: <87pqitco2i.fsf@gmail.com> (raw)
In-Reply-To: <m2vcsllhie.fsf@btinternet.com>

Hi Martyn,

I've just pushed up what will hopefully be a more general solution.
Basically, language-specific test files can now signal errors if they
have unmet dependencies.  These are then intercepted by `org-test-load'
and the file is not added to the test suite.  Hopefully this will allow
language-specific tests to be written without breaking the config-less
test suite.

See the top of test-ob-R.el for an example usage.

Cheers -- Eric

Martyn Jago <martyn.jago@btinternet.com> writes:

> Hi Sebastien and Eric
>
> "Sebastien Vauban"
> <wxhgmqzgwmuf@spammotel.com> writes:
>
>> Hi Eric and Martyn,
>>
>> Eric Schulte wrote:
>>> Martyn Jago <martyn.jago@btinternet.com> writes:
>>>> Unfortunately this test introduces an external dependency for R (which I
>>>> haven't currently got on my system so fails here). Not sure if that is
>>>> avoidable - I have no problem installing it if not. 
>>>
>>> Yes, I think we're going to have to start putting some conditional
>>> checks into org-test-run-all-tests so that only those code block tests
>>> for which the required languages exist on the user's system are run.  I
>>> don't know the best way to handle this.
>>
>> Testing both if:
>>
>> - the language is activated (`org-babel-load-languages')
>> - the interpreter is found on the system (`exec-path')
>>
>> ?
>>
>> Just an idea...
>>
>
> I was thinking along the same lines, as a stop-gap at least...
>  - test for feature ESS
>  - test for R
>  - If either are missing, 'bypass' the test but add a note to the test
>   backtrace to that effect.
>  - If dependencies are satisfied, run the test proper.
>
> My main problem is that my 'config-less' tests are now failing across
> Emacs 22, 23 and 24 (obviously), and are thus no longer particularly
> useful!
>
> I have included a patch that fixes things for me, but are you still
> confident Eric that in the short term your test will still catch the
> intended failure mode. I have little doubt that ultimately there will be
> a more satisfactory solution.
>
> Best, Martyn
>
> From de40e439d1a4d110a47d5a0701741493a285143c Mon Sep 17 00:00:00 2001
> From: Martyn Jago <martyn.jago@btinternet.com>
> Date: Wed, 21 Sep 2011 22:01:16 +0100
> Subject: [PATCH] Bypass test where dependencies missing
>  * testing/lisp/test-ob-R.el:
>  If R or ESS are missing don't run test
>  but add NOTE to this effect in test
>  backtrace
>
> ---
>  testing/lisp/test-ob-R.el |   10 +++++++---
>  1 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/testing/lisp/test-ob-R.el b/testing/lisp/test-ob-R.el
> index 1fe63a5..457bf9c 100644
> --- a/testing/lisp/test-ob-R.el
> +++ b/testing/lisp/test-ob-R.el
> @@ -16,9 +16,13 @@
>  (require 'ob-R)
>  
>  (ert-deftest test-ob-R/simple-session ()
> -  (org-test-with-temp-text
> -      "#+begin_src R :session R\n  paste(\"Yep!\")\n#+end_src\n"
> -    (should (string= "Yep!" (org-babel-execute-src-block)))))
> +  (if (and (featurep 'ess)
> +	   (eql 0 (shell-command org-babel-R-command)))
> +      (org-test-with-temp-text
> +	  "#+begin_src R :session R\n  paste(\"Yep!\")\n#+end_src\n"
> +	(should (string= "Yep!" (org-babel-execute-src-block))))
> +    (message "NOTE: =test-ob-R/simple-session= NOT run!
> + R and ESS are required to run =test-ob-R/simple-session=")))
>  
>  (provide 'test-ob-R)

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

  reply	other threads:[~2011-09-22  2:23 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-21 11:19 Rainer M Krug
2011-09-21 12:57 ` Eric Schulte
2011-09-21 16:56   ` Martyn Jago
2011-09-21 18:54     ` Sebastien Vauban
2011-09-21 19:32       ` Eric Schulte
2011-09-21 19:32     ` Eric Schulte
2011-09-21 20:09       ` Sebastien Vauban
2011-09-21 21:20         ` Martyn Jago
2011-09-22  2:23           ` Eric Schulte [this message]
2011-09-23 11:36             ` Martyn Jago
2011-09-23 15:59               ` Eric Schulte
2011-09-23 16:12                 ` Martyn Jago
2011-09-23 22:16                   ` Sebastien Vauban
2011-09-24 22:13                     ` Eric Schulte
2011-09-25  8:37                     ` Martyn Jago
2011-09-26  7:54                       ` Sebastien Vauban
2011-09-26 12:23                         ` Eric Schulte
2011-09-26 13:59                           ` Sebastien Vauban
2011-09-24 22:12                   ` Eric Schulte
2011-09-25  8:31                     ` Martyn Jago
2011-09-21 17:09   ` Rainer M Krug

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pqitco2i.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=martyn.jago@btinternet.com \
    --subject='Re: [babel] BUG in :session' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.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).