Hi,
I finally had time to attempt to run the tests. I had a gnustep-tests hanging around from a previous attempt to get GNUstep to run on OS X (from MacPorts, including Eric's work on this), so I gave it a spin. I have immediately seen that -lgnustep-corebase is a problem and I replaced it with -framework CoreFoundation. It doesn't look promising.
The-Evil-MacBook:Tests ivucica$ gnustep-tests --verbose
Checking for presence of test subdirectories ...
--- Running tests in CFArray ---
Running CFArray/create.m...
dyld: Symbol not found: ___objc_class_name_NSGarbageCollector
Referenced from: /Users/ivucica/projects/THIRDPARTY/gnustep/dev-libs/corebase/Tests/CFArray/./obj/create
Expected in: flat namespace
in /Users/ivucica/projects/THIRDPARTY/gnustep/dev-libs/corebase/Tests/CFArray/./obj/create
/opt/local/GNUstep/System/Tools/gnustep-tests: line 300: 34694 Trace/BPT trap $RUN_CMD
Failed file: create.m aborted without running all tests!
…and it's repeated ad nauseam.
Probably gnustep-make is configured to tell clang or gcc (I don't know which compiler it tries to use and I didn't bother checking) to use garbage collector, but I have no idea. I also didn't dig deep into gnustep-tests to actually figure out how it works.
So instead of fixing the test suite, I copied Testing.h from the GNUstep test suite that I had hanging around somewhere on the disk, and wrote this small script I extremely creatively called "osxtests.sh":
#!/bin/bash
origdir=`pwd`
for i in CF* ; do
cd $i;
for j in *.m ; do
echo $i/$j
clang $j -I.. -o ${j%.m} -framework CoreFoundation -framework Foundation
./${j%.m}
echo $?
done
cd "$origdir"
done
You'll find the test results attached. Produced on a Snow Leopard machine with 64 bit processor. Apparently the clang that is being used is from MacPorts, but I doubt that should be an issue or create any differences. Let me know if you feel some tests might be failing because of the compiler.
The-Evil-MacBook:Tests ivucica$ clang --version
clang version 2.9 (tags/RELEASE_29/final)
Target: x86_64-apple-darwin10
Thread model: posix
The-Evil-MacBook:Tests ivucica$ which clang
/opt/local/bin/clang
The-Evil-MacBook:Tests ivucica$ svn info
Path: .
Working Copy Root Path: /Users/ivucica/projects/THIRDPARTY/gnustep/dev-libs/corebase
Repository UUID: 72102866-910b-0410-8b05-ffd578937521
Revision: 34692
Node Kind: directory
Schedule: normal
Last Changed Author: stefanbidi
Last Changed Rev: 34675
On Wed, Jan 25, 2012 at 03:16, Stefan Bidi
<stefanbidi@gmail.com> wrote:
Ivan, did you catch that e-mail from Richard? He mentioned that you should be able to run gnustep-tests on OS X "as is". You might run into problems with the GNUmakefile.super adding -lgnustep-corebase to the linker options. If you do, you can just comment that out.
Let me know if you have any issues.
Thanks
Stef
On Mon, Jan 23, 2012 at 16:29, Sebastian Reitenbach
<sebastia@l00-bugdead-prods.de> wrote:
just run make install, afterwards cd in the Tests directory.
There run gnustep-tests
And have your GNUstep.sh sourced.
Sebastian,
I believe the point is to run corebase tests with Cocoa. That means -- no GNUstep.sh!
Besides, I never managed to run GNUstep under OS X.
On Mon, Jan 23, 2012 at 16:38, Stefan Bidi
<stefanbidi@gmail.com> wrote:
Ivan, I believe the test suite is setup so you can just run gnustep-tests on OS X. Someone more familiar with it please correct me if I'm wrong. I've never done it, so can't say for sure.
I don't see it being so, since there is only a GNUstep-dependent GNUmakefile in corebase, and GNUmakefile.super in Tests. :-)
If someone has further instructions, I'm happy to hear them; if not, I'll try running something similar to my script and see the results.
--
Ivan Vučica - ivan@vucica.net