[llvm-commits] [llvm] r163098 - /llvm/trunk/test/Makefile

Will Schmidt will_schmidt at vnet.ibm.com
Wed Sep 5 12:33:24 PDT 2012


On Wed, 2012-09-05 at 11:17 -0500, Rick Foos wrote:
> On 09/02/2012 10:16 AM, Nuno Lopes wrote:
> > Author: nlopes
> > Date: Sun Sep  2 10:16:51 2012
> > New Revision: 163098
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=163098&view=rev
> > Log:
> > escape special char when handling CXX_FOR_OCAMLOPT
> >
> > Modified:
> >      llvm/trunk/test/Makefile
> >
> > Modified: llvm/trunk/test/Makefile
> > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Makefile?rev=163098&r1=163097&r2=163098&view=diff
> > ==============================================================================
> > --- llvm/trunk/test/Makefile (original)
> > +++ llvm/trunk/test/Makefile Sun Sep  2 10:16:51 2012
> > @@ -131,7 +131,7 @@
> >   	@$(ECHOPATH) s=@SHLIBDIR@=$(SharedLibDir)=g>>  lit.tmp
> >   	@$(ECHOPATH) s=@SHLIBEXT@=$(SHLIBEXT)=g>>  lit.tmp
> >   	@$(ECHOPATH) s=@PYTHON_EXECUTABLE@=python=g>>  lit.tmp
> > -	@$(ECHOPATH) s, at OCAMLOPT@,$(OCAMLOPT) -cc \\\\\"$(CXX_FOR_OCAMLOPT)\\\\\" -I $(LibDir)/ocaml,g>>  lit.tmp
> > +	@$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT) -cc \\\\\"$(subst =,"\\=",$(CXX_FOR_OCAMLOPT))\\\\\" -I $(LibDir)/ocaml=g>>  lit.tmp
> >   	@$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g>>  lit.tmp
> >   	@$(ECHOPATH) s=@ENABLE_ASSERTIONS@=$(ENABLE_ASSERTIONS)=g>>  lit.tmp
> >   	@$(ECHOPATH) s=@TARGETS_TO_BUILD@=$(TARGETS_TO_BUILD)=g>>  lit.tmp
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> Nuno, Will,
> 
> I'm still getting errors on check-all with OCAML on Ubuntu 12.04.1. The 
> double quote escaping isn't working manually or in a Jenkins JNLP slave.

> I found two workarounds.
> 
> 1) When I switch the \\\\\" to \\\\\', the quote problem disappears and 
> check-all completes.
> 
> 2) Another way is to limit the shell interference requiring all the 
> \\\\\'s. Since $(subst) is used, need to do it with make builtins, then 
> it's done outside of shell.
> 
> I wrapped it again, $(subst *,'\\\"',*$(subst blah )*), and it gave me 
> an escaped version in lit.site.cfg:
> 
> config.ocamlopt_executable = "/usr/bin/ocamlopt -cc \"g++ 
> -D_FILE_OFFSET_BITS=64 -D_REENTRANT\" -I 
> /local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/Release+Asserts/lib/ocaml"
> 
> I have no preference either way.
> 
> You should probably have the final word since you fixed the first part 
> of the bug, and can test it better.

I don't have a preference as long as either works :-)
/me defers to Nuno.  

> Many of the bots that run check-all don't have ocaml installed. 
> Installing OCAML on the bot slaves might be a simple thing to do to 
> improve test coverage.

So for my better understanding..  
I do have ocaml installed on my build slaves
(ocaml-3.12.0-6.fc16.ppc64).  Is that the key reason why I'm not seeing
the same issue, or is there something else different with the Jenkins
JNLP slave? 


Thanks, 
-Will


> 
> -rick
> 
> ---
> 
> make[1]: Entering directory `/local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/test'
> Making LLVM 'lit.site.cfg' file...
> Making LLVM unittest 'lit.site.cfg' file...
> make -C /local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/test/../tools/clang/test lit.site.cfg Unit/lit.site.cfg
> make[2]: Entering directory `/local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/tools/clang/test'
> Making Clang 'lit.site.cfg' file...
> Making Clang 'Unit/lit.site.cfg' file...
> make[2]: Leaving directory `/local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/tools/clang/test'
> ( ulimit -t 600 ; ulimit -d 512000 ; ulimit -m 512000 ; ulimit -v 1024000 ; \
> 	  /local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit.py -s -v . /local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/test/../tools/clang/test )
> Traceback (most recent call last):
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit.py", line 5, in<module>
>      lit.main()
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit/main.py", line 522, in main
>      testSuiteCache, localConfigCache)[1])
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit/main.py", line 230, in getTests
>      ts,path_in_suite = getTestSuite(path, litConfig, testSuiteCache)
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit/main.py", line 199, in getTestSuite
>      ts, relative = search(item)
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit/main.py", line 183, in search
>      cache[path] = res = search1(path)
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit/main.py", line 174, in search1
>      cfg = TestingConfig.frompath(cfgpath, None, litConfig, mustExist = True)
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/llvm/utils/lit/lit/TestingConfig.py", line 53, in frompath
>      exec f in cfg_globals
>    File "/local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/test/lit.site.cfg", line 11
>      config.ocamlopt_executable = "/usr/bin/ocamlopt -cc "g++ -D_FILE_OFFSET_BITS=64 -D_REENTRANT" -I /local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/Release+Asserts/lib/ocaml"
>                                                           ^
> SyntaxError: invalid syntax
> 
> make[1]: *** [check-local-all] Error 1
> 
> 





More information about the llvm-commits mailing list