小编ana*_*nik的帖子

在buildbot中显示测试计数

对Buildbot提供统计数据并不特别满意.我知道它是用于构建而不是测试 - 这就是为什么它有步骤的概念,但没有测试的概念.当您需要构建结果中的测试统计信息时,仍有许多情况.例如,在不同平台上比较跳过和失败的测试以估计更改的影响时.

那么,需要什么来使Buildbot在结果中显示测试计数?
什么是最简单的方法,这样一个对Buildbot一无所知的人可以在15分钟内做到这一点?

buildbot

2
推荐指数
1
解决办法
362
查看次数

C++ 无法从父级访问子级属性

谁能解释为什么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)

Live Demo

c++ inheritance

2
推荐指数
1
解决办法
2374
查看次数

在Python中使用JSON

{"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)

我这样做......它失败了.

python json

1
推荐指数
1
解决办法
2739
查看次数

为什么JSON是JavaScript的子集?

维基百科说,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子集?

javascript json eslint

1
推荐指数
1
解决办法
1316
查看次数

从项目 Makefile 中检测 GOPATH

如果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,binpkgdirs。 …

makefile go

1
推荐指数
1
解决办法
2964
查看次数

使用Python请求精确捕获DNS错误

我正在尝试使用来检查过期的域名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]节点名或服务名未提供,或未知',))

dns python-requests

0
推荐指数
1
解决办法
2199
查看次数

如何检查mysql中是否设置了用户密码?

我需要对新服务器运行自动检查.其中一项检查是检测是否设置了用户(或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)

mysql authentication

0
推荐指数
1
解决办法
3581
查看次数

如何在退出时停止Python崩溃

脚本运行后,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)]

python crash pythonw spyder

-1
推荐指数
1
解决办法
3776
查看次数