草庐IT

打开出错

全部标签

unit-testing - 在 GoLang 的 sqlmock 中出错

我正在为GoLang应用程序编写测试用例,我正在使用sqlmock模拟SQL查询,但在执行gotest时出现以下错误Params:[调用查询,不是预期的,下一个预期是:ExpectedBegin=>expectingdatabasetransactionBegin]对此有什么想法吗? 最佳答案 sqlmock期望有一个开始,但却得到了其他东西。在此处显示功能并进行测试以获取更多信息。 关于unit-testing-在GoLang的sqlmock中出错,我们在StackOverflow上找

macos - 为什么这个 exec.Command 到另一个打开的 tty 不能正常工作

谁能帮我弄清楚我在这里做错了什么。我正在尝试执行在不同tty中运行的命令(在本例中打开vim),在本例中为/dev/ttys001,它在我终端的另一个选项卡中打开。运行下面的代码确实会在/dev/ttys001的窗口中呈现vim,但是,实际上从那个窗口输入到stdin并没有正确注册。非常感谢任何建议!packagemainimport("log""os""os/exec")funcmain(){tty,err:=os.OpenFile("/dev/ttys001",os.O_RDWR,os.ModePerm)iferr!=nil{log.Fatalln(err)}defertty.Cl

go - 导入 "github.com/sparrc/go-ping"库时 Jenkins 出错

我正在使用github.com/sparrc/go-ping库,当我在gerrit中发布它时,jenkins发布了-1并提示找不到包“github.com/sparrc/go-ping”在任何:我怎样才能克服这个问题? 最佳答案 假设GOPATH已在您的Jenkins服务器中正确设置。在执行go构建之前,您必须执行gogetgithub.com/sparrc/go-ping。 关于go-导入"github.com/sparrc/go-ping"库时Jenkins出错,我们在StackOv

postgresql - 如何在 Go 应用程序中处理打开/关闭 Db 连接?

我的WebAPI应用程序中有一组函数。他们对Postgres数据库中的数据执行一些操作。funcCreateUser(){db,err:=sql.Open("postgres","user=postgrespassword=passworddbname=api_devsslmode=disable")//Dosomedboperationshere}我想函数应该相互独立地与db一起工作,所以现在我在每个函数中都有sql.Open(...)。我不知道这是否是管理数据库连接的正确方法。我是否应该在应用程序启动后在某个地方打开它,并将db作为参数传递给相应的函数,而不是在每个函数中打开连接?

go - 在golang中打开超时的PE文件

我想尝试在Go中打开一个超时的PE文件。为实现这一点,我在引导文件指针和错误时使用匿名函数。我使用带有超时案例的select子句来强制超时,如下所示。gofunc(){f,e:=pe.Open(filePath)file此代码适用于我的用例。但是,如果文件打开时间过长,这可能会导致资源泄漏。我怎样才能防止这种情况发生?有没有更好的方法来强制打开PE文件超时? 最佳答案 如果你有一个传递给匿名函数的完成channel,你可以用它来发送一个你已经提前结束的信号。funcasd(){fileOpenTimeout:=time.After(

php - 无法使用 Golang 连接到 MSSQL 2014(未在 MSSQL 上打开静态端口)

我正在尝试将我的Golang应用程序连接到MSSQL2014。我已经成功使用-https://github.com/denisenkom/go-mssqldb为此,我只在我的MSSQL上启用了一个静态端口,一切都很好,我能够获取数据。但我想要实现的是连接到MSSQL而无需在MSSQL上打开静态端口,因为我的PHP应用程序已经使用PDO完成了此操作。我也尝试使用-https://github.com/minus5/gofreetds但无法在Windows上安装FreeTDS。但即便如此,我还是看到某个地方可以为MSSQL设置一个端口,所以我停止了。我遇到的另一个golangpkg是-ht

go-fuse 打开文件

使用go-fuse创建了一个FUSE文件系统:节点文件系统。除了文件未打开外,一切正常。基本上文件节点是这样的:typeSomeFileNodestruct{nodefs.Nodecontentstring}func(this*SomeFileNode)Open(flagsuint32,context*fuse.Context)(nodefs.File,fuse.Status){returnnodefs.NewDataFile([]byte(this.content)),fuse.OK}我希望cat该文件,但没有任何内容打印到标准输出。我错过了什么?完整重现代码:funcmain(){

unit-testing - 无法在 golang : "unable to open database file [recovered]"-error 中打开 SQLite 数据库

我刚开始学习golang,不确定我的错误是概念上的还是语言上的。这很奇怪,因为只有在对我的代码进行单元测试时才会出现错误。如果我“去运行”一切正常。作为sqlite驱动程序,我使用mattn/go-sqlite3.这里是问题发生的地方:funcdbExec(command*string){db,err:=sql.Open("sqlite3",dbPath)//Pathanddriveraresetcorrecrtlydeferdb.Close()iferr!=nil{//Noproblemherepanic(err)}_,err=db.Exec(*command)iferr!=nil{

sockets - http: 接受错误:接受 tcp [::]:9000: accept4: 打开的文件太多; 1s 重试

进程的pid是1996291。/proc/1996291/fd中有65534个fd,大部分fd都是socket,像这样:lrwx------1rootroot64Dec3013:5910000->socket:[952574733]lrwx------1rootroot64Dec3013:5910001->socket:[952566188]我知道括号中的数字是套接字的inode。/proc/net/tcp中的每个套接字都应该有一个相同的inode。但是有的inode能找到,有的找不到:cat/proc/net/tcp|grep952574733如果我找到inode,输出如下:sllo

go - DB.Exec args 总是导致我的占位符出错

我有一个SQL脚本,其中包含一个我想从Golang设置的变量。SET@foo_bar_invitation_id=?;SELECT@foo_bar_invitation_id;即我要设置?到“foobar”。我的代码:packagemainimport("io/ioutil""log""database/sql"_"github.com/go-sql-driver/mysql")typehandlerstruct{db*sql.DB}func(hhandler)runsql()(errerror){sqlscript,err:=ioutil.ReadFile("script.sql")