2018-07-01 18:43:05 +00:00
|
|
|
package tor
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
2018-07-10 20:42:47 +00:00
|
|
|
"os/exec"
|
2018-07-01 18:43:05 +00:00
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestTorManager(t *testing.T) {
|
2018-07-10 20:42:47 +00:00
|
|
|
tor, err := exec.LookPath("tor")
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("tor not found in PATH")
|
|
|
|
}
|
2018-07-01 18:43:05 +00:00
|
|
|
os.Remove("/tmp/torrc")
|
|
|
|
file, _ := os.Create("/tmp/torrc")
|
|
|
|
fmt.Fprintf(file, "SOCKSPort %d\nControlPort %d\nDataDirectory /tmp/tor\n", 10050, 10051)
|
|
|
|
file.Close()
|
2018-07-10 20:42:47 +00:00
|
|
|
tm, err := NewTorManager(10050, 10051, tor, "/tmp/torrc")
|
2018-07-01 18:43:05 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("creating a new tor manager failed: %v", err)
|
|
|
|
} else {
|
|
|
|
|
2018-07-10 20:42:47 +00:00
|
|
|
tm2, err := NewTorManager(10050, 10051, tor, "/tmp/torrc")
|
2018-07-01 18:43:05 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("creating a new tor manager failed: %v", err)
|
|
|
|
}
|
|
|
|
tm2.Shutdown() // should not noop
|
|
|
|
}
|
|
|
|
tm.Shutdown()
|
|
|
|
}
|