mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-24 10:29:16 +00:00
Separated out different test suites into different XCTest subclasses.
This commit is contained in:
parent
3e0679235a
commit
5160b6bbb8
@ -10,8 +10,11 @@
|
||||
4B14144E1B5883E500E04248 /* Atari2600.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B14144B1B5883E500E04248 /* Atari2600.mm */; };
|
||||
4B14144F1B5883E500E04248 /* OpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B14144D1B5883E500E04248 /* OpenGLView.m */; };
|
||||
4B1414511B5885DF00E04248 /* Atari2600.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6D7F921B58822000787C9A /* Atari2600.cpp */; };
|
||||
4B1414531B5885E800E04248 /* CPU6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6D7F951B58822E00787C9A /* CPU6502.cpp */; };
|
||||
4B1414541B58860100E04248 /* CPU6502AllRAM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6D7F971B58822E00787C9A /* CPU6502AllRAM.cpp */; };
|
||||
4B14145B1B58879D00E04248 /* CPU6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1414571B58879D00E04248 /* CPU6502.cpp */; };
|
||||
4B14145D1B5887A600E04248 /* CPU6502.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1414571B58879D00E04248 /* CPU6502.cpp */; };
|
||||
4B14145E1B5887AA00E04248 /* CPU6502AllRAM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1414591B58879D00E04248 /* CPU6502AllRAM.cpp */; };
|
||||
4B1414601B58885000E04248 /* WolfgangLorenzTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B14145F1B58885000E04248 /* WolfgangLorenzTests.swift */; };
|
||||
4B1414621B58888700E04248 /* KlausDormannTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B1414611B58888700E04248 /* KlausDormannTests.swift */; };
|
||||
4BB298EE1B587D8400A49093 /* 6502_functional_test.bin in Resources */ = {isa = PBXBuildFile; fileRef = 4BB297E01B587D8300A49093 /* 6502_functional_test.bin */; };
|
||||
4BB298EF1B587D8400A49093 /* AllSuiteA.bin in Resources */ = {isa = PBXBuildFile; fileRef = 4BB297E11B587D8300A49093 /* AllSuiteA.bin */; };
|
||||
4BB298F01B587D8400A49093 /* TestMachine.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4BB297E31B587D8300A49093 /* TestMachine.mm */; };
|
||||
@ -285,7 +288,7 @@
|
||||
4BB73EA71B587A5100552FC2 /* Atari2600Document.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BB73EA51B587A5100552FC2 /* Atari2600Document.xib */; };
|
||||
4BB73EA91B587A5100552FC2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4BB73EA81B587A5100552FC2 /* Assets.xcassets */; };
|
||||
4BB73EAC1B587A5100552FC2 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BB73EAA1B587A5100552FC2 /* MainMenu.xib */; };
|
||||
4BB73EB71B587A5100552FC2 /* Clock_SignalTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB73EB61B587A5100552FC2 /* Clock_SignalTests.swift */; };
|
||||
4BB73EB71B587A5100552FC2 /* AllSuiteATests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB73EB61B587A5100552FC2 /* AllSuiteATests.swift */; };
|
||||
4BB73EC21B587A5100552FC2 /* Clock_SignalUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB73EC11B587A5100552FC2 /* Clock_SignalUITests.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
@ -312,12 +315,14 @@
|
||||
4B14144C1B5883E500E04248 /* OpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenGLView.h; sourceTree = "<group>"; };
|
||||
4B14144D1B5883E500E04248 /* OpenGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OpenGLView.m; sourceTree = "<group>"; };
|
||||
4B1414501B58848C00E04248 /* ClockSignal-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ClockSignal-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
4B1414571B58879D00E04248 /* CPU6502.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPU6502.cpp; sourceTree = "<group>"; };
|
||||
4B1414581B58879D00E04248 /* CPU6502.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPU6502.hpp; sourceTree = "<group>"; };
|
||||
4B1414591B58879D00E04248 /* CPU6502AllRAM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPU6502AllRAM.cpp; sourceTree = "<group>"; };
|
||||
4B14145A1B58879D00E04248 /* CPU6502AllRAM.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPU6502AllRAM.hpp; sourceTree = "<group>"; };
|
||||
4B14145F1B58885000E04248 /* WolfgangLorenzTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WolfgangLorenzTests.swift; sourceTree = "<group>"; };
|
||||
4B1414611B58888700E04248 /* KlausDormannTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KlausDormannTests.swift; sourceTree = "<group>"; };
|
||||
4B6D7F921B58822000787C9A /* Atari2600.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Atari2600.cpp; sourceTree = "<group>"; };
|
||||
4B6D7F931B58822000787C9A /* Atari2600.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Atari2600.hpp; sourceTree = "<group>"; };
|
||||
4B6D7F951B58822E00787C9A /* CPU6502.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CPU6502.cpp; path = ../../Processors/6502/CPU6502.cpp; sourceTree = "<group>"; };
|
||||
4B6D7F961B58822E00787C9A /* CPU6502.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = CPU6502.hpp; path = ../../Processors/6502/CPU6502.hpp; sourceTree = "<group>"; };
|
||||
4B6D7F971B58822E00787C9A /* CPU6502AllRAM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CPU6502AllRAM.cpp; path = ../../Processors/6502/CPU6502AllRAM.cpp; sourceTree = "<group>"; };
|
||||
4B6D7F981B58822E00787C9A /* CPU6502AllRAM.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = CPU6502AllRAM.hpp; path = ../../Processors/6502/CPU6502AllRAM.hpp; sourceTree = "<group>"; };
|
||||
4BB297DF1B587D8200A49093 /* Clock SignalTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Clock SignalTests-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
4BB297E01B587D8300A49093 /* 6502_functional_test.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = 6502_functional_test.bin; sourceTree = "<group>"; };
|
||||
4BB297E11B587D8300A49093 /* AllSuiteA.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = AllSuiteA.bin; sourceTree = "<group>"; };
|
||||
@ -596,7 +601,7 @@
|
||||
4BB73EAB1B587A5100552FC2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
4BB73EAD1B587A5100552FC2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
4BB73EB21B587A5100552FC2 /* Clock SignalTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Clock SignalTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4BB73EB61B587A5100552FC2 /* Clock_SignalTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Clock_SignalTests.swift; sourceTree = "<group>"; };
|
||||
4BB73EB61B587A5100552FC2 /* AllSuiteATests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllSuiteATests.swift; sourceTree = "<group>"; };
|
||||
4BB73EB81B587A5100552FC2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
4BB73EBD1B587A5100552FC2 /* Clock SignalUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Clock SignalUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4BB73EC11B587A5100552FC2 /* Clock_SignalUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Clock_SignalUITests.swift; sourceTree = "<group>"; };
|
||||
@ -629,6 +634,17 @@
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
4B1414561B58879D00E04248 /* 6502 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4B1414571B58879D00E04248 /* CPU6502.cpp */,
|
||||
4B1414581B58879D00E04248 /* CPU6502.hpp */,
|
||||
4B1414591B58879D00E04248 /* CPU6502AllRAM.cpp */,
|
||||
4B14145A1B58879D00E04248 /* CPU6502AllRAM.hpp */,
|
||||
);
|
||||
path = 6502;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4BB297E41B587D8300A49093 /* Wolfgang Lorenz 6502 test suite */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -950,9 +966,11 @@
|
||||
4BB297E21B587D8300A49093 /* TestMachine.h */,
|
||||
4BB297E31B587D8300A49093 /* TestMachine.mm */,
|
||||
4BB297E41B587D8300A49093 /* Wolfgang Lorenz 6502 test suite */,
|
||||
4BB73EB61B587A5100552FC2 /* Clock_SignalTests.swift */,
|
||||
4BB73EB61B587A5100552FC2 /* AllSuiteATests.swift */,
|
||||
4BB73EB81B587A5100552FC2 /* Info.plist */,
|
||||
4BB297DF1B587D8200A49093 /* Clock SignalTests-Bridging-Header.h */,
|
||||
4B14145F1B58885000E04248 /* WolfgangLorenzTests.swift */,
|
||||
4B1414611B58888700E04248 /* KlausDormannTests.swift */,
|
||||
);
|
||||
path = "Clock SignalTests";
|
||||
sourceTree = "<group>";
|
||||
@ -979,24 +997,12 @@
|
||||
4BB73EDD1B587CA500552FC2 /* Processors */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4BB73EDE1B587CA500552FC2 /* 6502 */,
|
||||
4B1414561B58879D00E04248 /* 6502 */,
|
||||
);
|
||||
name = Processors;
|
||||
path = ../../Processors;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4BB73EDE1B587CA500552FC2 /* 6502 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4B6D7F951B58822E00787C9A /* CPU6502.cpp */,
|
||||
4B6D7F961B58822E00787C9A /* CPU6502.hpp */,
|
||||
4B6D7F971B58822E00787C9A /* CPU6502AllRAM.cpp */,
|
||||
4B6D7F981B58822E00787C9A /* CPU6502AllRAM.hpp */,
|
||||
);
|
||||
name = 6502;
|
||||
path = ../../Processors/6502;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -1403,6 +1409,7 @@
|
||||
4B1414511B5885DF00E04248 /* Atari2600.cpp in Sources */,
|
||||
4BB73EA41B587A5100552FC2 /* Atari2600Document.swift in Sources */,
|
||||
4B14144E1B5883E500E04248 /* Atari2600.mm in Sources */,
|
||||
4B14145B1B58879D00E04248 /* CPU6502.cpp in Sources */,
|
||||
4BB73EA21B587A5100552FC2 /* AppDelegate.swift in Sources */,
|
||||
4B14144F1B5883E500E04248 /* OpenGLView.m in Sources */,
|
||||
);
|
||||
@ -1412,10 +1419,12 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4B1414541B58860100E04248 /* CPU6502AllRAM.cpp in Sources */,
|
||||
4B1414531B5885E800E04248 /* CPU6502.cpp in Sources */,
|
||||
4BB73EB71B587A5100552FC2 /* Clock_SignalTests.swift in Sources */,
|
||||
4B14145E1B5887AA00E04248 /* CPU6502AllRAM.cpp in Sources */,
|
||||
4B14145D1B5887A600E04248 /* CPU6502.cpp in Sources */,
|
||||
4BB73EB71B587A5100552FC2 /* AllSuiteATests.swift in Sources */,
|
||||
4B1414621B58888700E04248 /* KlausDormannTests.swift in Sources */,
|
||||
4BB298F01B587D8400A49093 /* TestMachine.mm in Sources */,
|
||||
4B1414601B58885000E04248 /* WolfgangLorenzTests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
33
OSBindings/Mac/Clock SignalTests/AllSuiteATests.swift
Normal file
33
OSBindings/Mac/Clock SignalTests/AllSuiteATests.swift
Normal file
@ -0,0 +1,33 @@
|
||||
//
|
||||
// Clock_SignalTests.swift
|
||||
// Clock SignalTests
|
||||
//
|
||||
// Created by Thomas Harte on 16/07/2015.
|
||||
// Copyright © 2015 Thomas Harte. All rights reserved.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
@testable import Clock_Signal
|
||||
|
||||
class AllSuiteATests: XCTestCase {
|
||||
|
||||
func testAllSuiteA() {
|
||||
if let filename = NSBundle(forClass: self.dynamicType).pathForResource("AllSuiteA", ofType: "bin") {
|
||||
if let allSuiteA = NSData(contentsOfFile: filename) {
|
||||
let machine = CSTestMachine()
|
||||
|
||||
machine.setData(allSuiteA, atAddress: 0x4000)
|
||||
machine.setValue(CSTestMachineJamOpcode, forAddress:0x45c0); // end
|
||||
|
||||
machine.setValue(0x4000, forRegister: CSTestMachineRegister.ProgramCounter)
|
||||
while !machine.isJammed {
|
||||
machine.runForNumberOfCycles(1000)
|
||||
}
|
||||
|
||||
if machine.valueForAddress(0x0210) != 0xff {
|
||||
NSException(name: "Failed AllSuiteA", reason: "Failed test \(machine.valueForAddress(0x0210))", userInfo: nil).raise()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
60
OSBindings/Mac/Clock SignalTests/KlausDormannTests.swift
Normal file
60
OSBindings/Mac/Clock SignalTests/KlausDormannTests.swift
Normal file
@ -0,0 +1,60 @@
|
||||
//
|
||||
// KlausDormanTests.swift
|
||||
// Clock Signal
|
||||
//
|
||||
// Created by Thomas Harte on 16/07/2015.
|
||||
// Copyright © 2015 Thomas Harte. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import XCTest
|
||||
|
||||
class KlausDormannTests: XCTestCase {
|
||||
|
||||
func testKlausDormann() {
|
||||
|
||||
func errorForTrapAddress(address: UInt16) -> String? {
|
||||
let hexAddress = String(format:"%04x", address)
|
||||
switch address {
|
||||
case 0x3399: return nil // success!
|
||||
|
||||
case 0x33a7: return "Decimal ADC result has wrong value"
|
||||
case 0x3502: return "Binary SBC result has wrong value"
|
||||
case 0x33b9: return "Decimal SBC result has wrong value"
|
||||
case 0x33c0: return "Decimal SBC wrong carry flag"
|
||||
case 0x36d1: return "BRK: unexpected BRK or IRQ"
|
||||
case 0x36ac, 0x36f6: return "Improper JSR return address on stack"
|
||||
case 0x36e5: return "BRK flag not set on stack"
|
||||
case 0x26d2: return "ASL zpg,x produced incorrect flags"
|
||||
|
||||
default: return "Unknown error at \(hexAddress)"
|
||||
}
|
||||
}
|
||||
|
||||
if let filename = NSBundle(forClass: self.dynamicType).pathForResource("6502_functional_test", ofType: "bin") {
|
||||
if let functionalTest = NSData(contentsOfFile: filename) {
|
||||
let machine = CSTestMachine()
|
||||
|
||||
machine.setData(functionalTest, atAddress: 0)
|
||||
machine.setValue(0x400, forRegister: CSTestMachineRegister.ProgramCounter)
|
||||
|
||||
while true {
|
||||
let oldPC = machine.valueForRegister(CSTestMachineRegister.LastOperationAddress)
|
||||
machine.runForNumberOfCycles(1000)
|
||||
let newPC = machine.valueForRegister(CSTestMachineRegister.LastOperationAddress)
|
||||
|
||||
if newPC == oldPC {
|
||||
let error = errorForTrapAddress(oldPC)
|
||||
|
||||
if let error = error {
|
||||
NSException(name: "Failed test", reason: error, userInfo: nil).raise()
|
||||
} else {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,84 +1,16 @@
|
||||
//
|
||||
// Clock_SignalTests.swift
|
||||
// Clock SignalTests
|
||||
// WolfgangLorenzTests.swift
|
||||
// Clock Signal
|
||||
//
|
||||
// Created by Thomas Harte on 16/07/2015.
|
||||
// Copyright © 2015 Thomas Harte. All rights reserved.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
@testable import Clock_Signal
|
||||
import Foundation
|
||||
|
||||
class Clock_SignalTests: XCTestCase, CSTestMachineJamHandler {
|
||||
class WolfgangLorenzTests: XCTestCase, CSTestMachineJamHandler {
|
||||
|
||||
func testAllSuiteA() {
|
||||
if let filename = NSBundle(forClass: self.dynamicType).pathForResource("AllSuiteA", ofType: "bin") {
|
||||
if let allSuiteA = NSData(contentsOfFile: filename) {
|
||||
let machine = CSTestMachine()
|
||||
machine.jamHandler = self
|
||||
|
||||
machine.setData(allSuiteA, atAddress: 0x4000)
|
||||
machine.setValue(CSTestMachineJamOpcode, forAddress:0x45c0); // end
|
||||
|
||||
machine.setValue(0x4000, forRegister: CSTestMachineRegister.ProgramCounter)
|
||||
while !machine.isJammed {
|
||||
machine.runForNumberOfCycles(1000)
|
||||
}
|
||||
|
||||
if machine.valueForAddress(0x0210) != 0xff {
|
||||
NSException(name: "Failed AllSuiteA", reason: "Failed test \(machine.valueForAddress(0x0210))", userInfo: nil).raise()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testKlausDormann() {
|
||||
|
||||
func errorForTrapAddress(address: UInt16) -> String? {
|
||||
let hexAddress = String(format:"%04x", address)
|
||||
switch address {
|
||||
case 0x3399: return nil // success!
|
||||
|
||||
case 0x33a7: return "Decimal ADC result has wrong value"
|
||||
case 0x3502: return "Binary SBC result has wrong value"
|
||||
case 0x33b9: return "Decimal SBC result has wrong value"
|
||||
case 0x33c0: return "Decimal SBC wrong carry flag"
|
||||
case 0x36d1: return "BRK: unexpected BRK or IRQ"
|
||||
case 0x36ac, 0x36f6: return "Improper JSR return address on stack"
|
||||
case 0x36e5: return "BRK flag not set on stack"
|
||||
case 0x26d2: return "ASL zpg,x produced incorrect flags"
|
||||
|
||||
default: return "Unknown error at \(hexAddress)"
|
||||
}
|
||||
}
|
||||
|
||||
if let filename = NSBundle(forClass: self.dynamicType).pathForResource("6502_functional_test", ofType: "bin") {
|
||||
if let functionalTest = NSData(contentsOfFile: filename) {
|
||||
let machine = CSTestMachine()
|
||||
|
||||
machine.setData(functionalTest, atAddress: 0)
|
||||
machine.setValue(0x400, forRegister: CSTestMachineRegister.ProgramCounter)
|
||||
|
||||
while true {
|
||||
let oldPC = machine.valueForRegister(CSTestMachineRegister.LastOperationAddress)
|
||||
machine.runForNumberOfCycles(1000)
|
||||
let newPC = machine.valueForRegister(CSTestMachineRegister.LastOperationAddress)
|
||||
|
||||
if newPC == oldPC {
|
||||
let error = errorForTrapAddress(oldPC)
|
||||
|
||||
if let error = error {
|
||||
NSException(name: "Failed test", reason: error, userInfo: nil).raise()
|
||||
} else {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func testWolfgangLorenzStart() {
|
||||
self.runWolfgangLorenzTest(" start")
|
||||
}
|
||||
@ -386,7 +318,7 @@ class Clock_SignalTests: XCTestCase, CSTestMachineJamHandler {
|
||||
case 0x0000:
|
||||
NSException(name: "Failed test", reason: "Execution hit 0000", userInfo: nil).raise()
|
||||
|
||||
case 0xe16f, 0x45c0: // Wolfgang Lorenz load next (which we consider to be success)
|
||||
case 0xe16f: // load next (which we consider to be success)
|
||||
break;
|
||||
|
||||
default:
|
Loading…
x
Reference in New Issue
Block a user