我对Buildbot提供的统计数据并不特别满意.我知道它是用于构建而不是测试 - 这就是为什么它有步骤的概念,但没有测试的概念.当您需要构建结果中的测试统计信息时,仍有许多情况.例如,在不同平台上比较跳过和失败的测试以估计更改的影响时.
那么,需要什么来使Buildbot在结果中显示测试计数?
什么是最简单的方法,这样一个对Buildbot一无所知的人可以在15分钟内做到这一点?
谁能解释为什么Driver init()方法无法打印name子级中重写的属性?
#include <iostream>
#include <string>
class Driver {
public:
std::string name = "Unknown";
void init() {
std::cout << name << std::endl;
}
};
// need public here to inherit init()
class SpecificDriver : public Driver {
public:
std::string name = "Specific";
};
int main() {
Driver d;
SpecificDriver sd;
// this gives Unknown Unknown =/
d.init();
sd.init();
}
Run Code Online (Sandbox Code Playgroud)
这给出:
Unknown
Unknown
Run Code Online (Sandbox Code Playgroud)
并且应该是:
Unknown
Specific
Run Code Online (Sandbox Code Playgroud)
{"required_items":[
{
"filename":"abcd",
"no":"3"
},
{
"filename":"abc",
"no":"2"
}
]}
Run Code Online (Sandbox Code Playgroud)
我没有在Python中获取JSON格式的代码 - 我想插入文件名而不是通过循环.
list_of_other_ids={}
for i in xxxx:
entry={}
entry['filename'] = "XXXX"
entry['no'] =XX
list_of_other_ids.append(entry)
Run Code Online (Sandbox Code Playgroud)
我这样做......它失败了.
维基百科说,JSON被设计为JavaScript的非严格子集,即添加允许使用某些Unicode字符.引用当前版本截至2015-11-05:
虽然JSON通常被认为是JavaScript和ECMAScript的子集,但它允许在JavaScript和ECMAScript字符串中非法的字符串中使用非转义字符.
但是..如果我在ESLint中粘贴维基百科页面中的任何示例,则会失败并显示错误.
例如我粘贴这个:
{
"id": 1,
"name": "Foo"
}
Run Code Online (Sandbox Code Playgroud)
进入http://eslint.org/demo/并获取:
2:8 - 解析错误:意外的令牌:(未定义)
由于某种原因,看起来冒号在JavaScript中是非法的,它不是关于字符串中未转义的字符.
为什么人们仍然将JSON称为JavaScript子集?
如果GOPATH不设置,go程序编译是不可能的。但是许多go项目是使用 Makefile 构建的,因为go还缺少提取git修订、设置版本等的功能。因此应该可以自动从 Makefile 检测 GOPATH。
假设我手动设置了我的 GOPATH 一次go get -d:
go get -d github.com/zyedidia/micro/cmd/micro
Run Code Online (Sandbox Code Playgroud)
现在,如果我打开另一个会话,cd进入github.com/zyedidia/micro/cmd/micro并执行make build,构建将失败:
...
cmd/micro/micro.go:20:2: cannot find package "layeh.com/gopher-luar" in any of:
/usr/lib/go-1.7/src/layeh.com/gopher-luar (from $GOROOT)
($GOPATH not set)
Makefile:15: recipe for target 'build' failed
make: *** [build] Error 1
Run Code Online (Sandbox Code Playgroud)
那么,如果GOPATH没有设置,我该如何设置它Makefile并确保此时有go环境?
这不起作用:
GOPATH ?= ../../../..
Run Code Online (Sandbox Code Playgroud)
更新:以下代码有效,但未检测到父目录包含src,bin和pkgdirs。 …
我正在尝试使用来检查过期的域名python-requests。
import requests
try:
status = requests.head('http://wowsucherror')
except requests.ConnectionError as exc:
print(exc)
Run Code Online (Sandbox Code Playgroud)
这段代码看起来太通用了。它产生以下输出:
HTTPConnectionPool(host ='wowsucherror',port = 80):URL超过最大重试次数:/(由NewConnectionError(':未能建立新连接:[Errno 11001] getaddrinfo失败',))
我想做的是仅捕获此DNS错误(例如ERR_NAME_NOT_RESOLVED在Chrome中)。作为最后的选择,我只能进行字符串匹配,但是也许有更好,更结构化和前向兼容的方式来处理此错误?
理想情况下,它应该是的DNSError扩展requests。
更新:Linux上的错误有所不同。
HTTPConnectionPool(host ='wowsucherror',port = 80):URL超过最大重试次数:/(由NewConnectionError(':导致无法建立新连接:[Errno -2]名称或服务未知',))
将错误报告给requests-> urllib3 https://github.com/shazow/urllib3/issues/1003
UPDATE2:OS X也报告不同的错误。
requests.exceptions.ConnectionError:HTTPConnectionPool(host ='wowsucherror',端口= 80):url超过了最大重试次数:/(由NewConnectionError(':导致:无法建立新连接:[Errno 8]节点名或服务名未提供,或未知',))
我需要对新服务器运行自动检查.其中一项检查是检测是否设置了用户(或root)密码.但..
mysql> SELECT host, user, password FROM mysql.user;
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
Run Code Online (Sandbox Code Playgroud)
服务器版本:5.7.18-0ubuntu0.17.04.1(Ubuntu)
脚本运行后,Python实例崩溃.
错误签名是:
AppName pythonw.exe AppVer 0.0.0.0 ModName:ntdll.dll
ModVer 5.2.3790.3959 Offset 00020d8e
Run Code Online (Sandbox Code Playgroud)
该脚本有时工作正常,然后其他崩溃.它是从Spyder发起的.当在Spyder外面发射时,仍然会崩溃.
第一次运行似乎有效,但第二次运行崩溃.
Python版本.Python 2.6.6(r266:84297,2010年8月24日,18:46:32)[MSC v.1500 32 bit(Intel)]