Hi Sam, On Thu, May 2, 2013 at 10:07 AM, J B <[email protected]> wrote:
> I'd like to implement automated unit tests in a Hudson server on a Linux > machine, but I'm not sure whether I can compile and test code that imports > Foundation.h on Linux. > Good news! Yes, you can. :-) If your primary goal is testing Cocoa code, keep in mind that there may be differences between GNUstep and Cocoa. But, everyone should be writing code that runs on both GNUstep and Cocoa, anyway, so that's not a problem, right? :-) > Here's my question: Is it true that GNUstep will compile Foundation.h, but > not the graphical libraries? I think that would work, since I can't > effectively test the graphical components with unit tests, anyway. GNUstep > has its own graphical libraries for cross platform application development, > right? > Sure. Foundation is implemented in gnustep-base. AppKit is implemented in gnustep-gui (and, to actually get stuff on the screen, gnustep-back). To compile a console-only app, simply don't link in gnustep-gui and don't include anything from the AppKit framework. If you are only getting started, you'll need to install just the gnustep-base package from your distribution; under Debian and Ubuntu it pulls all the dependencies in (and there are more up to date packages available as well). Otherwise, you'll need to: - install all the dependencies - compile and install gnustep-make - compile and install gnustep-base Chime in if you decide to be on the bleeding edge; I have a handy script around, if you're on Debian or Ubuntu. Then, you'll need to "source" the GNUstep.sh script which prepares the bash environment for GNUstep development. Under Debian, the line may read (note the dot): . /usr/share/GNUstep/Makefiles/GNUstep.sh Then, write a GNUmakefile for your app, in place of an .xcodeproj. (You could use ProjectCenter, but writing GNUmakefiles directly is better long-term.) Nicola Pero has some nice tutorials on writing GNUmakefiles, as well as writing command line tools and apps with GNUstep, over here: http://www.gnustep.it/nicola/Tutorials/index.html Any other thoughts about using Linux to unit test objective-c code? Is my > plan feasible? I'm open to other options. I can purchase another Mac for > Hudson/automatic unit testing, but I'd prefer to run my objective-c unit > tests on a Linux machine, because of the difference in price. > You'll want to occasionally run the tests on the Mac as well. GNUstep is very similar to Cocoa (and has not only chased it, but hunted it down, in many most important areas -- especially in gnustep-base/Foundation). But it still isn't exactly Cocoa. Which doesn't mean you should look away from GNUstep for your current and future needs; it's still worth your time. Set up Hudson under Linux, and occasionally doublecheck whether the tests work under Cocoa, and you're good to go. Get familiar with the ecosystem, and find ways to leverage GNUstep. More real life use we get, healthier the society :-) -- Ivan Vučica - [email protected]
_______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
