test: migrate remaining tests to run.go

* bug248, bug345, bug369, and bug429 were ported from bash commands to run scripts. bug369 remains disabled.
* bug395 is a test for issue 1909, which is still open. It is marked as skip now and will be usable with compile with run.go when issue 1909 is fixed.

Fixes #4139

Updates #1909

Change-Id: Ibb5fbfb5cf72ddc285829245318eeacd3fb5a636
Reviewed-on: https://go-review.googlesource.com/1774
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/test/bugs/bug395.go b/test/bugs/bug395.go
index 4632dcd..5490a3d 100644
--- a/test/bugs/bug395.go
+++ b/test/bugs/bug395.go
@@ -1,8 +1,6 @@
-// echo bug395 is broken  # takes 90+ seconds to break
-// # $G $D/$F.go || echo bug395
+// skip
 
-// NOTE: This test is not run by 'run.go' and so not run by all.bash.
-// To run this test you must use the ./run shell script.
+// When issue 1909 is fixed, change from skip to compile.
 
 // Copyright 2011 The Go Authors.  All rights reserved.
 // Use of this source code is governed by a BSD-style
@@ -10,6 +8,7 @@
 
 // Issue 1909
 // Would OOM due to exponential recursion on Foo's expanded methodset in nodefmt
+
 package test
 
 type Foo interface {