草庐IT

OS-level

全部标签

unit-testing - 为从中读取的函数填充 os.Stdin

如何在我的测试中填充os.Stdin以获取使用扫描仪从中读取的函数?我使用以下函数通过扫描器请求用户命令行输入:funcuserInput()error{scanner:=bufio.NewScanner(os.Stdin)println("Whatisyourname?")scanner.Scan()username=scanner.Text()/*...*/}现在如何测试这种情况并模拟用户输入?以下示例不起作用。标准输入仍然是空的。funcTestUserInput(t*testing.T){varfile*os.Filefile.Write([]byte("Tom"))os.St

macos - 无法连接到 Mac OS X 上的 Docker 守护程序

我想在MacOSXElCapitan(v10.11.2)上使用docker-compose运行多容器应用程序。但是,命令$docker-composeup命令提示它无法连接到Docker守护进程。ERROR:Couldn'tconnecttoDockerdaemon-youmightneedtorundocker-machinestartdefault.只有在执行$eval"$(docker-machineenvdefault)"我才能访问docker-compose命令。为什么会这样,我该如何克服这个额外的步骤? 最佳答案 Doc

macos - 无法连接到 Mac OS X 上的 Docker 守护程序

我想在MacOSXElCapitan(v10.11.2)上使用docker-compose运行多容器应用程序。但是,命令$docker-composeup命令提示它无法连接到Docker守护进程。ERROR:Couldn'tconnecttoDockerdaemon-youmightneedtorundocker-machinestartdefault.只有在执行$eval"$(docker-machineenvdefault)"我才能访问docker-compose命令。为什么会这样,我该如何克服这个额外的步骤? 最佳答案 Doc

xcode - 轻松构建与 MacPorts 捆绑的 Mac OS X .app

有一个bashscript从用Go编写的应用程序构建MacOSX.app包,该应用程序通过从Homebrew安装中提取必要的库、资源等并调整库来工作。我很高兴添加MacPorts支持,但是..没有更简单的方法来做到这一点,比如使用Xcode项目或其他什么?是否有py2app的模拟去?关于在.app包中使用外部库,我应该了解什么? 最佳答案 如果我理解正确的话,您想将Go二进制文件打包为OSX.app文件。好吧,是的,你可以做到。查看我的cocoa-go的Makefile项目。事实上,构建.app相当容易。另外,我可以推荐一篇关于bu

go - 为什么 Go 中的 os.StartProcess 设置子进程组 id 等于子进程 pid

golang库函数os.StartProcess()在fork后的子进程中调用setpgid(0,0)它在“linux”和“bsd”配置上执行此操作,来源:http://golang.org/src/pkg/syscall/exec_bsd.go?h=SYS_SETPGID#L105http://golang.org/src/pkg/syscall/exec_linux.go?h=SYS_SETPGID#L117我过去注意到OSXFoundation库NSTask-(void)launch方法做同样的事情(未记录)。当时这似乎很烦人,因为它使管理流程树变得更加困难。这些库自动执行此操作

go - os/exec 将 mysql 数据转储到文件

大家好,伦敦已经凌晨3点了,我正在输掉这场战斗。我正在尝试将mysql数据库转储到sql文件中。它在命令行中工作正常,但当我尝试从Go中执行相同操作时(使用os/exec库)却不行。我已经尝试了几乎所有我愚蠢的脑袋能想出的东西……它与echo命令一起工作正常,但它完全忽略了mysqldump。你能给我指出正确的方向吗?packagemainimport("os/exec""log""bufio""os""io")funcmain(){//ThisDoesn't//cmd:=exec.Command("mysqldump","-P3306-hhost-uuser-ppassworddat

macos - 如何在 Mac OS X 上为 Docker 添加 bash 命令完成?

我正在运行docker,我希望bash命令完成docker命令和参数。 最佳答案 如果您已经有homebrewbash完成installed只需将docker完成脚本安装到bash_completion.dcurl-XGEThttps://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker>$(brew--prefix)/etc/bash_completion.d/docker注意:如果你没有安装自制bash-completion,fo

macos - 如何在 Mac OS X 上为 Docker 添加 bash 命令完成?

我正在运行docker,我希望bash命令完成docker命令和参数。 最佳答案 如果您已经有homebrewbash完成installed只需将docker完成脚本安装到bash_completion.dcurl-XGEThttps://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker>$(brew--prefix)/etc/bash_completion.d/docker注意:如果你没有安装自制bash-completion,fo

go - level-db golang 实现覆盖现有值?

我正在尝试使用leveldb-g实现并遇到一些问题。这是我的实现(基于另一个答案herepackagepropertyDataimport("code.google.com/p/leveldb-go/leveldb/db""code.google.com/p/leveldb-go/leveldb/table""log""runtime")const(DBFILE="./admin.db")varDBFS=db.DefaultFileSystemfuncAddDataToProperty(property,valuestring){Connection,e:=DBFS.Create(DB

go - 仅当文件自上次调用 os.Lstat 后发生更改时才调用 os.Lstat

我正在尝试编写一个程序,calcsize,计算所有子目录的大小。我想创建一个结果缓存,并且只有在我上次运行该程序后目录发生变化时才重新遍历该目录。类似于:./calcsize//outputs/absolute/file/path1/1000Bytes/absolute/file/path2/2000Bytes我已经用我自己的walk实现遍历目录,因为内置的gofilepath.Walk已经在每个文件上调用Lstat。有什么方法可以在不对每个文件调用Lstat的情况下知道一个目录或一组文件是否已更改?也许是我不知道的系统调用? 最佳答案