This is Controller.m in view mode; [Download] [Up]
#import "Controller.h"
#import "Benchmark.h"
@implementation Controller
- runAll:sender
{
List *list;
int i;
list = [benchmarkMatrix cellList];
for(i=0;i<list->numElements;i++){
[list->dataPtr[i] performClick:self];
}
[sendButton setEnabled:YES];
return self;
}
- logResults:(char *)buf
{
int len = [resultsText textLength];
[resultsText setSel:len :len];
[resultsText replaceSel:buf];
[resultsText replaceSel:"\n"];
return self;
}
- runDhrystone:sender
{
int dhry_main();
char buf[256];
[dhryField setIntValue:dhry_main()];
[mipsField setFloatValue:(float)[dhryField intValue]/1575.0];
sprintf(buf,"MIPS: %g\n",[mipsField floatValue]);
[self logResults:buf];
return self;
}
- runMemSpeed:sender
{
[memSpeed runBenchmark];
return self;
}
- runEthSpeed:sender
{
[etSpeed runBenchmark];
return self;
}
- runUser:sender
{
[userSpeed runBenchmark];
return self;
}
- runPS:sender
{
[psBench runBenchmark];
return self;
}
- runDiskSpeed:sender
{
[diskSpeed runBenchmark];
return self;
}
- runDeveloper:sender
{
[devBench runBenchmark];
return self;
}
- appendFile:(const char *)file toText:text
{
NXStream *str;
char *addr;
int len,maxlen;
int tlen = [text textLength];
str = NXMapFile(file,NX_READONLY);
if(!str) return self;
NXGetMemoryBuffer(str,&addr,&len,&maxlen);
[text setSel:tlen :tlen];
[text replaceSel:addr];
NXCloseMemory(str,NX_FREEBUFFER);
return self;
}
- appDidInit:sender
{
workspace = [Application workspace];
[workspace hideOtherApplications];
[self appendFile:"/usr/Devices/System.config/Instance0.table"
toText:resultsText];
if(getuid()==0 || geteuid()==0){
system("/bin/rm -f /tmp/out;"
"/usr/etc/disk -q /dev/rsd0a > /tmp/out");
[self appendFile:"/tmp/out" toText:resultsText];
}
else {
[self logResults:"Benchmark program should be run as root "
"for additional info."];
}
return self;
}
- submitToNeXT:sender
{
char *disk;
char *cc;
NXStream *results;
char buf[MAXPATHLEN+1];
char buf2[MAXPATHLEN+1];
if(NXRunAlertPanel(0,"Insert Floppy Disk","OK","Abort",0)){
return nil;
}
[workspace checkForRemovableMedia];
if(![workspace getMountedRemovableMedia:&disk]){
NXRunAlertPanel(0,"Can't find removable media",0,0,0);
return nil;
}
if(cc=index(disk,'\t')) *disk = '\000';
strcpy(buf,disk);
strcpy(buf2,disk);
strcat(buf,"/results");
strcat(buf2,"check");
results = NXOpenMemory(0,0,NX_READWRITE);
[resultsText writeText:results];
NXSaveToFile(results,buf);
NXCloseMemory(results,NX_FREEBUFFER);
sprintf("sum %s | awk '{print $1 * 1234}' > %s",buf,buf2);
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.