From 0839371d4c39beeb366d0a17859aec27aa7e696a Mon Sep 17 00:00:00 2001 From: Leo Treggiari Date: Thu, 12 May 2005 19:17:28 +0000 Subject: [PATCH] Add 6 new tests using 3.0 style build definitions --- .../.classpath | 24 +- .../plugin.xml | 1572 ++++++++++++++++- .../copyandDeploy/copyandDeploy.zip | Bin 0 -> 4196 bytes .../linkedFolder/Benchmarks/makefile | 43 + .../linkedFolder/Benchmarks/objects.mk | 7 + .../linkedFolder/Benchmarks/sources.mk | 14 + .../linkedFolder/Benchmarks/subdir.mk | 34 + .../test30Projects/linkedFolder/f1.c | 8 + .../test30Projects/linkedFolder/f2.c | 8 + .../test30Projects/linkedFolder/test_ar.h | 2 + .../resources/test30Projects/linkedLib/f1.c | 8 + .../resources/test30Projects/linkedLib/f2.c | 8 + .../test30Projects/linkedLib/linkedLib.zip | Bin 0 -> 3059 bytes .../test30Projects/linkedLib/test_ar.h | 2 + .../multiResConfig/multiResConfig.zip | Bin 0 -> 7069 bytes .../singleFileExe/singleFileExe.zip | Bin 0 -> 3288 bytes .../test30Projects/twoFileSO/twoFileSO.zip | Bin 0 -> 3396 bytes .../testplugin/ManagedBuildTestHelper.java | 14 +- .../tests/suite/AllManagedBuildTests.java | 2 + .../tests/ManagedProject21MakefileTests.java | 6 +- .../tests/ManagedProject30MakefileTests.java | 324 ++++ 21 files changed, 2046 insertions(+), 30 deletions(-) create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/copyandDeploy/copyandDeploy.zip create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/objects.mk create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/sources.mk create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/subdir.mk create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f1.c create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f2.c create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/test_ar.h create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f1.c create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f2.c create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/linkedLib.zip create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/test_ar.h create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/multiResConfig/multiResConfig.zip create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/singleFileExe/singleFileExe.zip create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/twoFileSO/twoFileSO.zip create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/tests/org/eclipse/cdt/managedbuild/core/tests/ManagedProject30MakefileTests.java diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/.classpath b/build/org.eclipse.cdt.managedbuilder.core.tests/.classpath index 14d41daf60e..f72c49cfe53 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/.classpath +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/.classpath @@ -1,24 +1,8 @@ - - - - - - - - - - - - - - - - - - - - + + + + diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml b/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml index e31ef0b4db0..2c5b3e31cc4 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml @@ -25,6 +25,9 @@ id="buildTest" name="Tools for Build Test" point="org.eclipse.cdt.managedbuilder.core.ManagedBuildInfo"> + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/copyandDeploy/copyandDeploy.zip b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/copyandDeploy/copyandDeploy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2a2d6585b20077a48bcdf077eabb0428c93ed551 GIT binary patch literal 4196 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 aAvA~KI@igG!XBUj-@IT>o(KO0fd2w}{cOMh literal 0 HcmV?d00001 diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile new file mode 100644 index 00000000000..3f2c7ba6d61 --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile @@ -0,0 +1,43 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +ROOT := .. + +-include $(ROOT)/makefile.init + +RM := rm -rf + +# All of the sources participating in the build are defined here +-include sources.mk +-include $(SUBDIRS:%=%/subdir.mk) +-include objects.mk +ifneq ($(strip $(DEPS)),) +-include $(DEPS) +endif + +-include $(ROOT)/makefile.defs + +# Add inputs and outputs from these tool invocations to the build variables + +# All Target +all: lib.a + +# Tool invocations +lib.a: $(OBJS) $(USER_OBJS) + @echo 'Building target: $@' + @echo 'Invoking: MBS30.archiver.gnu' + @echo ar -r lib.a $(OBJS) $(USER_OBJS) $(LIBS) + @ar -r lib.a $(OBJS) $(USER_OBJS) $(LIBS) + @echo 'Finished building target: $@' + @echo ' ' + +# Other Targets +clean: + -$(RM) $(OBJS)$(ARCHIVES)$(DEPS) lib.a + -@echo ' ' + +.PHONY: all clean dependents +.SECONDARY: + +-include $(ROOT)/makefile.targets diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/objects.mk b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/objects.mk new file mode 100644 index 00000000000..eae6a31b65d --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/objects.mk @@ -0,0 +1,7 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +LIBS := + +USER_OBJS := \ No newline at end of file diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/sources.mk b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/sources.mk new file mode 100644 index 00000000000..0a4b7d18d1d --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/sources.mk @@ -0,0 +1,14 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +C_SRCS := +O_SRCS := +OBJS := +ARCHIVES := +DEPS := + +# Every subdirectory with source files must be described here +SUBDIRS := \ +. \ + diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/subdir.mk b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/subdir.mk new file mode 100644 index 00000000000..ed487cec9c7 --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/subdir.mk @@ -0,0 +1,34 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +$(ROOT)/f1.c \ +$(ROOT)/f2.c + +OBJS += \ +${addprefix ./, \ +f1.o \ +f2.o \ +} + +DEPS += \ +${addprefix ./, \ +f1.d \ +f2.d \ +} + + +# Each subdirectory must supply rules for building sources it contributes +%.o: $(ROOT)/%.c + @echo 'Building file: $<' + @echo 'Invoking: MBS30.compiler.gnu.c' + @echo gcc -O0 -g3 -Wall -c -fmessage-length=0 -o$@ $< + @gcc -O0 -g3 -Wall -c -fmessage-length=0 -o$@ $< && \ + echo -n $(@:%.o=%.d) $(dir $@) > $(@:%.o=%.d) && \ + gcc -MM -MG -P -w -O0 -g3 -Wall -c -fmessage-length=0 $< >> $(@:%.o=%.d) + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f1.c b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f1.c new file mode 100644 index 00000000000..5e77893b8a6 --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f1.c @@ -0,0 +1,8 @@ +#include +#include "test_ar.h" + +void f1_ar() +{ + printf ( "Hello from f1_ar.\n" ) ; + return ; +} diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f2.c b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f2.c new file mode 100644 index 00000000000..56e2c730d4d --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/f2.c @@ -0,0 +1,8 @@ +#include +#include "test_ar.h" + +void f2_ar() +{ + printf ( "Hello from f2_ar.\n" ) ; + return ; +} diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/test_ar.h b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/test_ar.h new file mode 100644 index 00000000000..55e38f0d5ac --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/test_ar.h @@ -0,0 +1,2 @@ +void f1_ar() ; +void f2_ar() ; diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f1.c b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f1.c new file mode 100644 index 00000000000..5e77893b8a6 --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f1.c @@ -0,0 +1,8 @@ +#include +#include "test_ar.h" + +void f1_ar() +{ + printf ( "Hello from f1_ar.\n" ) ; + return ; +} diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f2.c b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f2.c new file mode 100644 index 00000000000..56e2c730d4d --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/f2.c @@ -0,0 +1,8 @@ +#include +#include "test_ar.h" + +void f2_ar() +{ + printf ( "Hello from f2_ar.\n" ) ; + return ; +} diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/linkedLib.zip b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib/linkedLib.zip new file mode 100644 index 0000000000000000000000000000000000000000..6008541b4aa97f859fadfa05f5467bb04dcded94 GIT binary patch literal 3059 zcmZ`*2RK{%8;+IaY7wJSRkanhuRUsOiJji4Er?BO3q@;ns1->cw5Y0GwX3yiR7-K~ z?TQ;*d)F@h(L1Q8|FfTS&i9_*@BO~>zMmnCf|3aU0Du9-5&07OUN*C|WB|Ymasc2Q z>8^;Kz0Vylv3W#@_+!LlRB-toHe9dd zcF?a0_`-&HsW}74C%A-t3Uw%fIEuCQoT6%}MBo`(peZ(e5_M#MIjA@S*oF!!)HYaq z{Avd93OgQMh&a6H|i7>3f zf78B|#y>~GkPTh%eitBFzOcQYieYV|HdPP9=${`395{Cs%DF=>-DqMT?IbFO++4Pv zG1wK<--~?5VCJu<^ zU>;84_Bb@f5;~MHl3$SjtQ=I|1g2*#2AIf&046ow6fEzc58LnFV-pR`4e7$5^x*6* zaLWv`Yq$ixgM-b(9Sio+0}9quCGH5BuM>S2Un=yl{c2&Sz~7s>W5||innQlOush;u z_cYEanOOGXTECtPB!`|ekIUNbnhaNBX`8$@1Sl2A!$JPYSH#F(L7seoGr>u6rKC70 zS2kQhE=#h`sS5byaNN9wK`08G*hEZg=7ZCcd5gPuW*=QTtkOV=J_`2G5}sk2+KON3 zd{2HtfL3I_gyZ98_FmHDl_&uKMiK#PC=WX)cchoAx2QYP73JXUhAK2}@OY*IQ35>* zP5Kh+_DW4~Gm1%o&+meX=fnCu9K519d^m78tIbv*lt6ZQSf88y<+Cg$} zY*L;(sRCir{`k4}E)i{*fn=6rQnLkk)99G1h%7?YLf1Xn2DOO+G=EA_szP_wrc0;6 zlg`@{mcO}0D_zKlSXwKfbr)RK>u!FfqSHk+#E{Wl*jjQwg~gc1r6)_80TE)6p1<>d~yIZ_l*6;%kO}@wxt`AVtdSKU{p7x-eX5>fN*pTci!RbAk>(z7? zGeqEqaTCwHng6fF!B@iwy0k?w!J4c=2*POZz`S19>M>i2P38#26PA=sR=<_ESrZ{F zG)u}j$>KfLf&pClm0{C$F&3f6t+r+U*l(@85*HZSb4=gV45m%a3B9j1KQ#0CaIkZ< zvEQhicUf_~nXZ$w%k71zj;nd^rx)`hlygMskfcuR%<4DtVH4XUz>hT`+~q5vPs;rQ zX}|De4WMn06~tS_-4%|=7MYkfM%)n+Ztc_)YSqj-J<8QpAa*Y1bk zX*FqS6E(W2*D7R0nV&5&F-@FaU-O|x6qizotA|^L6Aw~rRPLS`fa2?P*>uu}ZApcA zW&qx3UoSh<@c;_rI;b1PAQ3C)Fc0u)OBCQMd!T{no|jiuN9^4x+$mbM=0;gzbk|it z%ysusNsnH-^KvwPEMs9EC}oMl5V|$qB8_)?D4LU4pP%Oz=%`+;EujRrr1|3e17u&` zYg5jd!D9s#@Y}Y&7*ET&!McFN)b3q`GYqRI#@?YMKUw$+717kK@ad^xLL#CPX<_h` zvaeE7w19Vs%u|-k`bSC!$~_wW;5}e>VDh3I8({R)j z^RDBILp6-hZd}Uq#}G%kP-N}-D6Uj@BU6dJZjmPkD+=#vGJ-Ci!zt<62oe6sS@{;6 z(>;qZNqI71xteWf<(1thjW*0gU7_kTMv}oOMgmkg56{DtRJ2dUlb3tpv7Vzvom z->Q&e+hJx4lhHD2P5rYkw>y?xoZ=Y={+@yZ?lCZ%!E-UttCQh%_w zHYF7(>N}}3Ei4^lKW&RCODRHk?UshXSDREB$(ujCO9>6M?+6j&42-V$Myt7-!sS!? zsOS-P&u{4PN&NKmW;%y09lgTMTMO7VW{V-Pb3%|^Wf#?qK+m?zIcW_x7d!Uyj86^8 zHgZ&1Adm7&FGj^GAE$z_CQY5hOqTV5`hdF3hh@g9TYfd2!90~70w!e0&Q5BNswM4X)jzU|n>n6M>m+jXWBUDY5v zQu7QSevtfad&YVvk?+Iz@}(xF6#z&jY3TQhe-6jqdn(x{RdMV#;5I+J0Lh>~{sI7y zw(llw>+9@hzx31`-79u6Y9(QZE@5S6Hy+-s(_DH#9wAxMSiA5p*_5aes}K_!m-@A( z$6@Z?wPl8x;MC6q#}DhxQ+X}5H!@sJ^Tq2SWCr|J*~TclRrjqmAzoK=Hgp65;pwdDR(LI=azxKqri&Mr*55H>t&S^j+WY#;Dmw}XL z1Uk5A)3+Crb8D2ufjR5puOW6~wKbVe1G9BQWI4V%6NMq-`=+M9t+dx0tr-j3zwK*( zmnHkwu?|5VliTrB@WKWPDBb`ze^*bigOPmMPpVT0+N+kV3a5y3=7v6zfsN%QEj=8_ zszX)1-DD3pb~IeIKvXzAZiNX?;FKON6fRok%)+r>T|M6HNwF{cNt&-NT;;x1op^CI zKqN`$OXC{?vng~u*-Da443&I!TUW5i3ZZsYu3+KKvMGyy>9UKj-*PU zj6>`5oq~A{o9x}%yO(MA$3UK!BXPv|L&Q)_pS<~(jShYH@h$A6l+nvbrAu2XRQ60} zv10N#UTe+kk}!n#kwGGquPNIqeBJ&J)#}L-_Pq$;4TfglH3J?UWtSo-!xV^HnfAuo zhnslhN6^^TbqJ@9_SAz=WiueXzZ@s6w(cF>aFfq%yYqg%itKfc2PE?*BWL=qC_iue zj;oLiz;S#cEvK5m(}6#0e2!oLJ5YusTmQB}r=xz>Eu2KjlFIs2-T&J=oCP>*H75Xy zqz2>^z=`pkg*a;#ClIwiLY!E~S%|ahd;$?i((6;B_)n|`yT7qISi6)71@^&al{eXXY7rAC;K`i$$qkiLWqP!_H2=@?0ZBiOZLVR z(IHcjyx(cUnB$z!@Au#P$2;?RnBjZh&-L8*_1xF}JlYyW#1Ie&L0a<<^n}9CxqlJ`Q(gFdIFiTN|EMCv|4kZB_d{Vm2dU(9i?Pv#`UXwsLgifOd@yC-JuJm3f42qPCyWlzfen5S>B4&m!` z37KU)W;3f5&7r-I<9KKxv>_{ojfn^ZN}~aR$N?N z-_321D$a5fWxoY*N|9!M8&Sx4%@vhj{qNse92?kLb2#A_k^vzj|C>H+|p1 z5c&HYidYABi@>fgu^4t{v2&tbCst=z!PLHIMLEavmomH`B_5+*|L+elX0= zSG`z&Uw98`r|09WoD9<*oQGeb^l9t$OP-Z-^cXbiPa=0qRn2a8933NW6}OBbZmS6x z@Vu>4LCCYXPK7-UhYA{BHa-~)-7@}TJa@~G&1uQy59O(`%!x#3plowVo{DSD*P)mA@t z*|OrZAF2s|Llu{9hjLq$hi=BaV$IKxlp>RrDRVhzs+Gf?k>VhvMzdk!2N%4=%WuRo zYbFR5ELUQiH4dD<=4@+`&5yFNjhi#RG&hPK>-pWomc_7*yZ$TU4pWLj-5Ug-NVUaZ zY|7WVdZgSLni!qgKg7++G^d8QZLp~aj7r@%oK$$r%#_6%HR!!w?Dou=_6x=Eg)?L} z8w7?YdnsAeqvzGD+ogM*7j4hg*L+an9_p&tyrESqaG? zn+!F$-isEBkQ%?+0~51IdW|ahL7wj?U>!*_Tv=W_dFe%eYtXs!tm)73un^!cmWQcEV@=>D;_b#FB z$|(NRcB?4$uZGFj6mA2L2HR2FZtBFeXS$lS|2 zu$=Ec_OGr{JvEwWZqGGKbW zbZOzEMf`JugUv$^Y+_9>%S9Rj5Gacf1fu-4c|5$_o$PG9?<6#9wu(}Puc(GPRrcne<&5kEnc)lm; zszKbL?_y4~9ELt4n7=G<4`LfBdZMtwI^^3(7DtveTW_8)$sc25AKypnI$y=b!*uTt z|GZnT+`0>-C97(<<70NU7x>f{HR;QRG@kfw+ICa>K7wkqxfj)b1D&l}{<59n$J$F_ zq!{X_Ni_=EaeP@K?MioCrIllRVD@~V>Z-+p);E65jrV>a($yaUqH?@a*H5Ph;)IP3 z2-}!kn#vpyE_xtrWSFr1idpRKMz>Z@$c+W%4>E?6luOA3GPpY)rBWaqdnI{Y^78@$^3NpLvN?!&u_H^aRv3=1>zcwycIx@Y&!qt!k zeiTkue=5K-+}UMw1iTskta4saO<5dvsmwTsTqtLQZ?K}r{sQxd0R2WODl#?3(RLlT zi#+Wwe^;ZsCUNyNCt;M2u+IA{-o(X1 z7+dnH+V`F$#U_2&YVFeF5dRcjmz0s^T?6=}Z{GqkI?#U$m1&L>2v(r@)-uhxjR5?) zNDKlo0D(}jbF*=9weoUCinv-i+g)~au`AJSc1xG1lLbcwrS`mV{Un6sxSS^WuC-%*=mUpC1?G1s)1Cx$8J&d z65^?f%_P^#bUE)3^woa5xJWBkZD-;MaczE1G_ZU!r59Eu-QqndD^v~U^6v9j zc*GmVr*(_gx}3!MgnjJUIwk#OA!&}fZO%j78q*a)FcV=f%i~;+5)#g?>ddh$h>aJ~ z>Z!0&|(J9q8 zpbPDGqr*ZW@9(Y_ zdc~bka@L=t5OIv%rc%FR8U-4ACg5mdlcdF_(j4EGy(UaPXAxj&V(=yPBV%7^TwQv| z(p|E^KV%w93qFOI2aFJRzZJPZy&gO!V7F}N6F``J?i{G}xZZB!-OvahQSVPdMvC@R z4ijmzC92nSKz*d?Co7CNCQipgLttCPNXPrE3$YtgUzW~)XA$-tSNcRp|HXg&@jD&Q zwI%=0Uss4?$+qgM8YP5idg8h@TI@bQHEtXDfs%!~H|~%e6cP*(gkJjaX#xaT1_t9{ zBDh;)$_Y}~)maabCp?YPMR*7bbq~M=yJ4Dr-37yNtrr?X>Vj%;9o61Gwbyzc-3DE~ zB08$@Zb2R5!aV3SY8JKrmp28Xtb#;LG0ZG%b|<4j{yGQ)fC88b1PTBE{QU6i2OblV z?mk{Nc48uj5j!M3J^^}%6M!KOb@vRAKGwF5UI6eCJu~NVQAj{(^X|;e(=QZw z9_6}Q@fi)ddDGFSHJg(v-nKRAOTH;LcB6dv*|M#! zMV)vVou5PN{p##%cHwF?aygFMQE&QKuOgVtIrLTiu_UcT;ZDvt6T$u5B%jCy45dAb9&=^xaAPSgIbRU%7TOUmft=40&kyOal92>ris0s4~* zSn}M!GdPk9P!TLAp!h6$d4c#rA;2Okpa60o#UdO_96F6hkBia;n1}6JsaK?j>-U>a zDpWqKbs1GqRiy~vgD54q>KNI0kGk^ie2HU#jU+2*oDxlzK+d1YVDbHZ0iaWeub5?f z7}L8{S%IWWabRw)x5{>+DrLvy)!58+(02{ePC!)2$KHrtokkFLc#JI22w><$_#iv! z4CFMVJ*Ww3H{tM`hyvp~aSF@j_JxsA!ad}jyCSQ1KM^-rE>p6H#- z8dqct$V#k}^!F&QHH}-nYUN5Ph1kd~(r`omZdKTORSJ#mu z-VtnH3UtNd%p z0FwRBC8O$pCF8%XWMEIT82v(WnTI_G_HQS!m+|xqyYn&nRiX{2Y!RhuWZvR9DI+tO zGi}8o%NuHkEDIB@7Orc#oc$59+n7%Ck=Bs&ePc?4{H)&wDK|TD<0Ui4T;6f?lZF{K zAII|WBA3Ak!)7z1CgZVoQCXz6f||bVy~>BGiM%&H(kQn#-;-H+e`WohUFi~pod+T= z$CX^kD+8Xn4R5(B0=W``e-ZY+GAR(=rG|Z=SI;+s@bQKaZ8v96gjs~Fw&{*c{P z$hc>05t7qAkES%S>Y=5}tbzrFQnI)21K*+S_^Q0m&wYL7MVAz_&xR6B^sn@v#qHo`+m5!If z-Imq`mL@0Ge)K2FZd|F^t_y1TIQp2QW?bu)U*~VGF&EWb-ywCHJHv)Gqbw(WgMSV= z>1x6;V+}Pl^o5qd$=!1pAj1SLY15y%NKxQXsT#`9(7A_VUBU=;eWpa8%zJMXi)#|a z(egxF$|Hp7n?JVrnX4V6Q0qf&`Y4!?y?9x~`AmbKVuz+EZXn%;JqE#o8DrP)r$oQ* zNy;{+cT*9dhbjFy!;zA5wmqgFEIz#8bb(r=v-aK)Ej4YoGA9RPqEWlMO5C|o z(iA?bp(IM*xC^?u3-~@y!H&j-{g)T_!f7UE0jV(6Q|6^k=B1%S5AXHa3YZIP zMrMWQN!&6^HqzHkOU==aIBn=m4V9Oc5aAYwU$CIGDovIXVaDk(*YQG)Iri;E@F32; z0AT&7KCl4rUv*&61LIfcfQ>U0b48}t->1>f2UokK?bWX)C@eYDs|^GW73xu3%vlxA zBVr&SVjxrjW2=MU0NBI>@EeZnBbpNol5d+7t6E)(Vq{{Yy|>v!gD24$RsC9l)6V zy2`*cJnG8h!0~D4az~UcVFrKiBA_Y|B2q^oW@K$%wL*ci_2QD|Lj&`}%XW)aw@5T;1^#iy3 ze*=f<&G22|w>JkanrIKZI1B!XAf;{ltjNTBxOfWV#lD51reVMALE819M2p6udV zr0{|l6zdCqNrwbkqK17m=hXWDsLU70DThcvKwS|uJT?_wS{CHH4t6@sV%4dGzdm#~59;7fLLZeb z-5Bg=F@=&aQf~<=FlIDNHss!CJ%>lk#_l_|68=Jpt(P^cV)|!mtpwU?QR|B7@tItI z%fc#ODeH5hV|c4v7FK5L-aStbZqtj+`BQ7#vvX0{a9l|uPhf|}L#aed?43GmLwJVFi+QZZlE_~3clL8rF2^a;PQzE6K1YUFY6g70 zrKJ_AT@+fWl<#3C8BUYtfAjfBU{Vvtd}x`s@JaqEpT)l_*omVel$*)&C@}kz;M)1K z3cMWM@J_xYmr&bG3y_-nVGXpl#P{)%+Q7nOrv%y@A@-! z4Jv3uvw9^o5A8l;aAbIdJ?G1hd0NP;svCYje0VjzTssI@-vCF3mIxbTD)?eND8>J5 zfaFE?al&&pkpIU?{u;QD{!(b4!#(0~o*<3w_}Jb=09~8KLPFQE-kb z(wm1A95m0eo+LY5xtdXxZEQ~RU2a$Pnwef}wB|07975IcL#N{B>`sj>U9gO?CiGqs z%s57h{KUtoO@zP#jr2vJ={Mefv}}Vm$@H;Q#WTEQ0BekD71@t>WS&jvq`B07Q{!i0?oCzHA5Y8xptvU?Sn?2RRuw)3G`P*Y)yr zA-JL(Jn%3*M^}|~P22>9E=G{RX>S35ui)FZfe4tBv#%qW;O;z?c-|`&E*?1}J9T2; zKxaV#J@YUH(}Rjjq}jE;)vR^M!`*~hEzP*b&BRCC@-6E*zhx{b`qQwqeJqyET$U#% z>~e#^^{Q_fi(aJNh6bedVR>-#bE{u#jgxiZh=-?tg7O`dMv9^W1k$Wlz7mN<2gk}f8 zqH#eB+RgV``jfX~hzZrUNEddl8m%!Q^q@#&N>2T`Pd$~fBbP_c8se05FX`@Vn9vGM zg1!p+@TJTh{q927;|JGq^SG z`kB;b;n?M(^6olh@pYsDx^#4sTsqpyNZfjKf805Jeb2WYdNk6QPE$(xB(;t@qjef} zSS2SGfj#X}gg`jpr@D(9Cm!;Bfyw-`{9DiJbLZ~sg*ZMx=@R>LAiUM4f$iIaQ8@tf+nsY+(^s%m$(%RJmUh?tn%@9laM(2iaX8ciEUM|poPz5K-gxpHyVBZ-=aO^q{^bhcjCS7Z=!RbX9azMwEs zKDhB6VC%^QrN&V(M`qqWUYu5*aGQ=|z<-IFF)Y_jSg{*?<&g8?RJ1}1g6?+;s(LVw zte~F$vQ(CEMke$~t^DH5K!%87>%&}QukCGeH=t#UPm=iLimh!T+$-!%J#Bsc166Nm z$J0D<`|oLd_R1Sb$ftieJYg@g;`bQc^ic1gvL0PjH zlQ$km2^T1vl=v?=*9-VRKv+n5<-S-3)QTsUR?-6{8~AN?!vayibOWn|=6nqgAqfM< z-rlBRtt*Dp_G9MD3aC%-1A(p6--6*txuZb`Qm=e3{2$Yh7Z^5^E<2lEFkAy*=pdZ1 z{T;L5TPze0R4Ae;<@1iz7uzp=s&16|_OXTX1?aMdD4r0(F_D$kh?I*r)IUsqnBMYg zdi>+4h-&g+DMPtz_mNrA__<4( z#lTr~e^Qh`n>&3qLgA2e8_6v0tYyRRwG5 z4#qdRW+##a*sC`u1;1=r*G)VafV)qo$g1GMIW2H2xI7#Po-n5drXsq|jLB@R<3R{h z-o%kbZyyq-h!z)LO+%PPx?y3B)VAAis9LA5^Of0a9}?Owt@=ZK(IcpY^2z1#8{_@{+VKZ;P@}ae+_+|;v8u48+P%p zz5ihN|IWf;001Fy?d1K5VIy!er}>Wi4n%^$&3$J*2b(z$hv7#Ey+MY5eQ4vEH|r$p yuui_8`pQP&X0@~q+yNTjKb5r+wV43dQG#F;f5_3ogqNdDfFJx~!Q452kMCbhqd3C= literal 0 HcmV?d00001 diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/twoFileSO/twoFileSO.zip b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/twoFileSO/twoFileSO.zip new file mode 100644 index 0000000000000000000000000000000000000000..9f868767eab2f3e7a2fe02a05e1b99c556e04ea1 GIT binary patch literal 3396 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 literal 0 HcmV?d00001 diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java b/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java index cf40dbf8c39..4eda3b2743d 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/suite/org/eclipse/cdt/managedbuilder/testplugin/ManagedBuildTestHelper.java @@ -32,7 +32,6 @@ import org.eclipse.cdt.make.core.MakeCorePlugin; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProjectDescription; import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.IWorkspaceDescription; import org.eclipse.core.resources.IWorkspaceRoot; @@ -244,10 +243,7 @@ public class ManagedBuildTestHelper { static public StringBuffer readContentsStripLineEnds(IProject project, IPath path) { StringBuffer buff = new StringBuffer(); - IFile file = project.getFile(path); - IWorkspaceRoot root = project.getWorkspace().getRoot(); - IPath fullPath = root.getLocation(); - fullPath = fullPath.append(file.getFullPath()); + IPath fullPath = project.getLocation().append(path); try { FileReader input = null; try { @@ -255,7 +251,7 @@ public class ManagedBuildTestHelper { } catch (Exception e) { Assert.fail("File " + fullPath.toString() + " could not be read."); } - //InputStream input = file.getContents(true); + //InputStream input = file.getContents(true); // A different way to read the file... int c; do { c = input.read(); @@ -266,7 +262,7 @@ public class ManagedBuildTestHelper { } while (c != -1); input.close(); } catch (Exception e) { - Assert.fail("File " + file.toString() + " could not be read."); + Assert.fail("File " + fullPath.toString() + " could not be read."); } return buff; } @@ -362,13 +358,15 @@ public class ManagedBuildTestHelper { } static private void deleteDirectory(File dir) { + boolean b; File[] toDelete = dir.listFiles(); for (int i=0; i 0) { + if (i == 0) { + String configName = info.getDefaultConfiguration().getName(); + IPath buildDir = Path.fromOSString(configName); + ManagedBuildTestHelper.compareBenchmarks(curProject, buildDir, files); + } + } + } + } + + for(int i = 0; i < projects.length; i++) + ManagedBuildTestHelper.removeProject(projects[i].getName()); + } + + private void createPathVariable(IPath tmpDir) { + IWorkspace workspace = ResourcesPlugin.getWorkspace(); + workspace = ResourcesPlugin.getWorkspace(); + IPathVariableManager pathMan = workspace.getPathVariableManager(); + String name = MBS_TEMP_DIR; + try { + if (pathMan.validateName(name).isOK() && pathMan.validateValue(tmpDir).isOK()) { + pathMan.setValue(name, tmpDir); + assertTrue(pathMan.isDefined(name)); + } else { + fail("could not create the path variable " + name); + } + } catch (Exception e) {fail("could not create the path variable " + name);} + } + + private void createFileLink(IProject project, IPath tmpDir, String linkName, String fileName) { + IWorkspace workspace = ResourcesPlugin.getWorkspace(); + String name = MBS_TEMP_DIR; + if (!pathVariableCreated) { + createPathVariable(tmpDir); + pathVariableCreated = true; + } + + try { + // Now we can create a linked resource relative to the defined path variable: + IFile linkF1 = project.getFile(linkName); + IPath location = new Path("MBSTemp/" + fileName); + if (workspace.validateLinkLocation(linkF1, location).isOK()) { + linkF1.createLink(location, IResource.NONE, null); + } else { + fail("could not create the link to " + name); + } + } catch (Exception e) {fail("could not create the link to " + name);} + } + + /* (non-Javadoc) + * tests 3.0 style tool integration for a single file executable + */ + public void test30SingleFileExe(){ + IPath[] makefiles = { + Path.fromOSString("makefile"), + Path.fromOSString("objects.mk"), + Path.fromOSString("sources.mk"), + Path.fromOSString("subdir.mk")}; + IProject[] projects = createProjects("singleFileExe", null, null, true); + buildProjects(projects, makefiles); + } + + /* (non-Javadoc) + * tests 3.0 style tool integration for a two file SO + */ + public void test30TwoFileSO(){ + IPath[] makefiles = { + Path.fromOSString("makefile"), + Path.fromOSString("objects.mk"), + Path.fromOSString("sources.mk"), + Path.fromOSString("subdir.mk")}; + IProject[] projects = createProjects("twoFileSO", null, null, true); + buildProjects(projects, makefiles); + } + + /* (non-Javadoc) + * tests 3.0 style tool integration for multiple source files & a resource configuration + */ + public void test30MultiResConfig(){ + IPath[] makefiles = { + Path.fromOSString("makefile"), + Path.fromOSString("objects.mk"), + Path.fromOSString("sources.mk"), + Path.fromOSString("subdir.mk"), + Path.fromOSString("source1/subdir.mk"), + Path.fromOSString("source2/subdir.mk"), + Path.fromOSString("source2/source21/subdir.mk")}; + IProject[] projects = createProjects("multiResConfig", null, null, true); + buildProjects(projects, makefiles); + } + + /* (non-Javadoc) + * tests 3.0 style tool integration for linked files + */ + public void test30LinkedLib(){ + IPath[] makefiles = { + Path.fromOSString("makefile"), + Path.fromOSString("objects.mk"), + //Path.fromOSString("subdir.mk") // Can't compare this yet since it contains absolute paths! + Path.fromOSString("sources.mk")}; + IPath[] linkedFiles = { + Path.fromOSString("f1.c"), + Path.fromOSString("f2.c"), + Path.fromOSString("test_ar.h")}; + File srcDirFile = CTestPlugin.getFileInPlugin(new Path("resources/test30Projects/linkedLib/")); + IPath srcDir = Path.fromOSString(srcDirFile.toString()); + IPath tmpSubDir = Path.fromOSString("CDTMBSTest"); + IPath tmpDir = ManagedBuildTestHelper.copyFilesToTempDir(srcDir, tmpSubDir, linkedFiles); + try { + IProject[] projects = createProjects("linkedLib", null, "cdt.managedbuild.target.gnu30.lib", true); + // There should be only one project. Add our linked files to it. + IProject project = projects[0]; + createFileLink(project, tmpDir, "f1.c", "f1.c"); + createFileLink(project, tmpDir, "f2link.c", "f2.c"); + createFileLink(project, tmpDir, "test_ar.h", "test_ar.h"); + // Build the project + buildProjects(projects, makefiles); + } finally {ManagedBuildTestHelper.deleteTempDir(tmpSubDir, linkedFiles);} + } + + /* (non-Javadoc) + * tests 3.0 style tool integration for a linked folder + */ + public void test30LinkedFolder(){ + IPath[] makefiles = { + Path.fromOSString("makefile"), + Path.fromOSString("objects.mk"), + Path.fromOSString("subdir.mk"), + Path.fromOSString("sources.mk")}; + IPath[] linkedFiles = { + Path.fromOSString("f1.c"), + Path.fromOSString("f2.c"), + Path.fromOSString("test_ar.h"), + Path.fromOSString("Benchmarks/makefile"), + Path.fromOSString("Benchmarks/objects.mk"), + Path.fromOSString("Benchmarks/subdir.mk"), + Path.fromOSString("Benchmarks/sources.mk")}; + File srcDirFile = CTestPlugin.getFileInPlugin(new Path("resources/test30Projects/linkedFolder/")); + IPath srcDir = Path.fromOSString(srcDirFile.toString()); + IPath tmpSubDir = Path.fromOSString("CDTMBSTest"); + IPath tmpDir = ManagedBuildTestHelper.copyFilesToTempDir(srcDir, tmpSubDir, linkedFiles); + if (!pathVariableCreated) { + createPathVariable(tmpDir); + pathVariableCreated = true; + } + try { + IPath location = Path.fromOSString(MBS_TEMP_DIR); + IProject[] projects = createProjects("linkedFolder", location, "cdt.managedbuild.target.gnu30.lib", false); + // Build the project + buildProjects(projects, makefiles); + } finally {ManagedBuildTestHelper.deleteTempDir(tmpSubDir, linkedFiles);} + } + + /* (non-Javadoc) + * tests 3.0 style tool integration with pre and post process steps added to typical compile & link + */ + public void test30CopyandDeploy(){ + IPath[] makefiles = { + Path.fromOSString("makefile"), + Path.fromOSString("objects.mk"), + Path.fromOSString("sources.mk"), + Path.fromOSString("subdir.mk"), + Path.fromOSString("Functions/subdir.mk")}; + IProject[] projects = createProjects("copyandDeploy", null, null, true); + buildProjects(projects, makefiles); + } +}