module.exports = function (config) {
    if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) {
        console.log('Make sure the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are set.');
        process.exit(1);
    }

    // Check out https://saucelabs.com/platforms for all browser/platform combos
    var customLaunchers = {
        sl_chrome: {
            base: 'SauceLabs',
            browserName: 'chrome'
        },
        sl_firefox: {
            base: 'SauceLabs',
            browserName: 'firefox'
        },
        sl_safari: {
            base: 'SauceLabs',
            browserName: 'safari',
            platform: 'OS X 10.9',
            version: '7'
        },
        sl_opera: {
            base: 'SauceLabs',
            browserName: 'opera'
        },
        sl_ie_11: {
            base: 'SauceLabs',
            browserName: 'internet explorer',
            platform: 'Windows 8.1',
            version: '11'
        },
        sl_ie_7: {
            base: 'SauceLabs',
            browserName: 'internet explorer',
            platform: 'Windows XP',
            version: '7'
        }
    };

    config.set({
        basePath: '',
        frameworks: ['jasmine'],
        files: [
            'node_modules/stackframe/stackframe.js',
            'stack-generator.js',
            'spec/spec-helper.js',
            'spec/*-spec.js'
        ],
        exclude: [],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browserDisconnectTimeout : 10000,
        browserDisconnectTolerance : 1,
        browserNoActivityTimeout : 240000,
        captureTimeout : 240000,
        sauceLabs: {
            testName: 'stack-generator unit tests',
            recordScreenshots: false,
            connectOptions: {
                port: 5757,
                logfile: 'sauce_connect.log'
            }
        },
        customLaunchers: customLaunchers,
        browsers: Object.keys(customLaunchers),
        reporters: ['progress', 'saucelabs', 'coverage'],
        preprocessors: {
            'stack-generator.js': 'coverage'
        },
        coverageReporter: {
            type: 'lcov',
            dir: 'coverage'
        },
        singleRun: true
    });
};

@@ -239,16 +239,84 @@
 %0A    %7D%0A%0A
+    // Commented some of these out just so CI doesn't take forever.%0A
     // C
@@ -428,12 +428,507 @@
     
-sl_c
+//slIOS7: %7B%0A        //    base: 'SauceLabs',%0A        //    browserName: 'iPhone',%0A        //    platform: 'OS X 10.9',%0A        //    version: '7.1'%0A        //%7D,%0A        slIOS8: %7B%0A            base: 'SauceLabs',%0A            browserName: 'iPhone',%0A            platform: 'OS X 10.9',%0A            version: '8.1'%0A        %7D,%0A        //slAndroid4: %7B%0A        //    base: 'SauceLabs',%0A        //    browserName: 'Android',%0A        //    platform: 'Linux',%0A        //    version: '4.0'%0A        //%7D,%0A        slC
 hrom
@@ -1022,10 +1022,9 @@
   sl
-_f
+F
 iref
@@ -1118,17 +1118,189 @@
     
-sl_safari
+//slSafari6: %7B%0A        //    base: 'SauceLabs',%0A        //    browserName: 'safari',%0A        //    platform: 'OS X 10.8',%0A        //    version: '6'%0A        //%7D,%0A        //slSafari7
 : %7B%0A
@@ -1299,32 +1299,34 @@
 ari7: %7B%0A        
+//
     base: 'Sauce
@@ -1332,32 +1332,34 @@
 eLabs',%0A        
+//
     browserName:
@@ -1369,32 +1369,34 @@
 afari',%0A        
+//
     platform: 'O
@@ -1406,32 +1406,34 @@
  10.9',%0A        
+//
     version: '7'
@@ -1433,32 +1433,34 @@
 on: '7'%0A        
+//
 %7D,%0A        sl_op
@@ -1458,12 +1458,181 @@
     
-sl_o
+//slSafari8: %7B%0A        //    base: 'SauceLabs',%0A        //    browserName: 'safari',%0A        //    platform: 'OS X 10.10',%0A        //    version: '8'%0A        //%7D%0A        slO
 pera
@@ -1720,20 +1720,18 @@
       sl
-_ie_
+IE
 11: %7B%0A  
@@ -1869,33 +1869,32 @@
 : '11'%0A        %7D
-,
 %0A        sl_ie_7
@@ -1890,14 +1890,14 @@
     
-sl_ie_
+//slIE
 7: %7B
@@ -1897,32 +1897,34 @@
 lIE7: %7B%0A        
+//
     base: 'Sauce
@@ -1930,32 +1930,34 @@
 eLabs',%0A        
+//
     browserName:
@@ -1978,32 +1978,34 @@
 lorer',%0A        
+//
     platform: 'W
@@ -2016,32 +2016,34 @@
 ws XP',%0A        
+//
     version: '7'
@@ -2047,24 +2047,26 @@
 '7'%0A        
+//
 %7D%0A    %7D;%0A%0A  

Add a crap-ton of browsers to Karma CI config.