diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py
index 56fef11..be2f781 100644
--- a/Lib/test/test_fileio.py
+++ b/Lib/test/test_fileio.py
@@ -124,7 +124,14 @@
             self.assertEquals(f.isatty(), False)
             f.close()
 
-            if not sys.platform.startswith("win"):
+            try:
+                f = _fileio._FileIO("/dev/tty", "a")
+            except EnvironmentError:
+                # When run in a cron job there just aren't any ttys,
+                # so skip the test.  This also handles Windows and
+                # other OS'es that don't support /dev/tty.
+                pass
+            else:
                 f = _fileio._FileIO("/dev/tty", "a")
                 self.assertEquals(f.readable(), False)
                 self.assertEquals(f.writable(), True)
diff --git a/Misc/build.sh b/Misc/build.sh
index a6ba927..4babcbc 100755
--- a/Misc/build.sh
+++ b/Misc/build.sh
@@ -46,20 +46,20 @@
 
 FAILURE_SUBJECT="Python Regression Test Failures"
 #FAILURE_MAILTO="YOUR_ACCOUNT@gmail.com"
-FAILURE_MAILTO="python-checkins@python.org"
+FAILURE_MAILTO="python-3000-checkins@python.org"
 #FAILURE_CC="optional--uncomment and set to desired address"
 
 REMOTE_SYSTEM="neal@dinsdale.python.org"
-REMOTE_DIR="/data/ftp.python.org/pub/docs.python.org/dev/"
+REMOTE_DIR="/data/ftp.python.org/pub/docs.python.org/dev/3.0"
 RESULT_FILE="$DIR/build/index.html"
-INSTALL_DIR="/tmp/python-test/local"
+INSTALL_DIR="/tmp/python-test-3.0/local"
 RSYNC_OPTS="-aC -e ssh"
 
 # Always run the installed version of Python.
 PYTHON=$INSTALL_DIR/bin/python
 
 # Python options and regression test program that should always be run.
-REGRTEST_ARGS="-E -tt $INSTALL_DIR/lib/python2.6/test/regrtest.py"
+REGRTEST_ARGS="-E -tt $INSTALL_DIR/lib/python3.0/test/regrtest.py"
 
 REFLOG="build/reflog.txt.out"
 # These tests are not stable and falsely report leaks sometimes.
@@ -67,14 +67,18 @@
 # Note: test_XXX (none currently) really leak, but are disabled
 # so we don't send spam.  Any test which really leaks should only 
 # be listed here if there are also test cases under Lib/test/leakers.
-LEAKY_TESTS="test_(XXX)"  # Currently no tests should report spurious leaks.
+LEAKY_TESTS="test_(cmd_line|socket)"
+
+# These tests always fail, so skip them so we don't get false positives.
+_ALWAYS_SKIP="test_compiler test_transformer"
+ALWAYS_SKIP="-x $_ALWAYS_SKIP"
 
 # Skip these tests altogether when looking for leaks.  These tests
 # do not need to be stored above in LEAKY_TESTS too.
 # test_compiler almost never finishes with the same number of refs
 # since it depends on other modules, skip it.
 # test_logging causes hangs, skip it.
-LEAKY_SKIPS="-x test_compiler test_logging"
+LEAKY_SKIPS="-x test_compiler test_logging $_ALWAYS_SKIP"
 
 # Change this flag to "yes" for old releases to only update/build the docs.
 BUILD_DISABLED="no"
@@ -168,20 +172,20 @@
             update_status "Installing" "$F" $start
 
             if [ ! -x $PYTHON ]; then
-                ln -s ${PYTHON}2.* $PYTHON
+                ln -s ${PYTHON}3.* $PYTHON
             fi
 
             ## make and run basic tests
             F=make-test.out
             start=`current_time`
-            $PYTHON $REGRTEST_ARGS >& build/$F
+            $PYTHON $REGRTEST_ARGS $ALWAYS_SKIP >& build/$F
             NUM_FAILURES=`grep -ic " failed:" build/$F`
             update_status "Testing basics ($NUM_FAILURES failures)" "$F" $start
             mail_on_failure "basics" build/$F
 
             F=make-test-opt.out
             start=`current_time`
-            $PYTHON -O $REGRTEST_ARGS >& build/$F
+            $PYTHON -O $REGRTEST_ARGS $ALWAYS_SKIP >& build/$F
             NUM_FAILURES=`grep -ic " failed:" build/$F`
             update_status "Testing opt ($NUM_FAILURES failures)" "$F" $start
             mail_on_failure "opt" build/$F
@@ -201,7 +205,7 @@
             start=`current_time`
             ## skip curses when running from cron since there's no terminal
             ## skip sound since it's not setup on the PSF box (/dev/dsp)
-            $PYTHON $REGRTEST_ARGS -uall -x test_curses test_linuxaudiodev test_ossaudiodev >& build/$F
+            $PYTHON $REGRTEST_ARGS -uall -x test_curses test_linuxaudiodev test_ossaudiodev $_ALWAYS_SKIP >& build/$F
             NUM_FAILURES=`grep -ic " failed:" build/$F`
             update_status "Testing all except curses and sound ($NUM_FAILURES failures)" "$F" $start
             mail_on_failure "all" build/$F
