[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