我有一个克隆.我想减少它的历史,而不是从头开始克隆,减少深度.工作示例:
$ git clone git@github.com:apache/spark.git
# ...
$ cd spark/
$ du -hs .git
193M .git
Run Code Online (Sandbox Code Playgroud)
好吧,所以不是这样,但它会为这次讨论服务.如果我尝试gc它会变小:
$ git gc --aggressive
Counting objects: 380616, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (278136/278136), done.
Writing objects: 100% (380616/380616), done.
Total 380616 (delta 182748), reused 192702 (delta 0)
Checking connectivity: 380616, done.
$ du -hs .git
108M .git
Run Code Online (Sandbox Code Playgroud)
尽管如此,相当大(git pull表明它仍然可以向遥控器推送/拉动).重新包装怎么样?
$ git repack -a -d --depth=5
Counting objects: 380616, done.
Delta compression using up to 4 …Run Code Online (Sandbox Code Playgroud) 我遇到麻烦的环境:Windows10上的Python 2.7.11(修补到目前为止).Python通过msi安装.我在设置中检查了PATH设置,并将其设置为c:\ Python27.
这适用于Mac:
from imapclient import IMAPClient
IMAPClient("imap-mail.outlook.com", use_uid=True, ssl=(True))
Run Code Online (Sandbox Code Playgroud)
但在Windows上,如果barfs像这样:
Traceback (most recent call last):
File "test_outlook_imap.py", line 3, in <module>
IMAPClient("imap-mail.outlook.com", use_uid=True, ssl=(True))
File "C:\Python27\lib\site-packages\imapclient\imapclient.py", line 152, in __init__
self._imap = self._create_IMAP4()
File "C:\Python27\lib\site-packages\imapclient\imapclient.py", line 164, in _create_IMAP4
self._timeout)
File "C:\Python27\lib\site-packages\imapclient\tls.py", line 153, in __init__
imaplib.IMAP4.__init__(self, host, port)
File "C:\Python27\lib\imaplib.py", line 173, in __init__
self.open(host, port)
File "C:\Python27\lib\site-packages\imapclient\tls.py", line 159, in open
self.sock = wrap_socket(sock, self.ssl_context, host)
File "C:\Python27\lib\site-packages\imapclient\tls.py", line 126, in wrap_socket
ssl_context = create_default_context()
File …Run Code Online (Sandbox Code Playgroud) 我有一个执行多次os.system调用的 Python 脚本。将它们的系列作为字符串列表断言将很容易(并且相对优雅)。
拦截(和阻塞)实际调用并不那么容易。在有问题的脚本中,我可以像这样抽象 SUT (*) 中的 os.system:
os_system = None
def main():
return do_the_thing(os.system)
def do_the_thing(os_sys):
global os_system
os_system = os_sys
# all other function should use os_system instead of os.system
Run Code Online (Sandbox Code Playgroud)
我的测试调用my_script.do_the_thing()而不是my_script.main()当然(留下少量未经测试的代码)。
替代选项:我可以保持 SUT 不变,并os.system在调用main()SUT之前在测试方法中全局替换。
这给我留下了新的问题,因为这是一个全球性的、持久的变化。很好,所以我会try/finally在相同的测试方法中使用 a ,并在离开测试方法之前替换原来的。无论测试方法通过还是失败,这都有效。
但是,对于 PyTest,是否有一种安全且优雅的设置/拆卸为中心的方法来执行此操作?
其他并发症:我想对 stdout 和 stderr 做同样的事情。是的,这确实是main()我正在测试的脚本。
我有一个在深入测试细节之前初始化变量的测试,我想用相同的变量进行第二次测试,而不是重复初始化代码:
#[test]
fn test_one() {
let root = Path::new("data/");
// the rest of the test
}
#[test]
fn test_two() {
let root = Path::new("data/");
// the rest of the test
}
Run Code Online (Sandbox Code Playgroud)
我不认为static或const不会这样做,因为大小不会预先知道,尽管PathBuf.from(path)可能会这样做,但静态/常量变量的初始化表达式不能太复杂。
我见过lazy_static,但还没有看到它在测试中使用的任何例子。这是在看到带有“extern crate loading macros must be at the crate root”的编译器错误之后,在线搜索告诉我是在外面main(),但测试没有main功能。
在 Java 中,我会定义变量然后在setup()方法中初始化它,但我看不到 Rust 的在线示例。
在网络扩展中,我以编程方式注册内容脚本:
browser.contentScripts.register({
matches: ["https://www.example.com/messages/*"],
js: [{file: "my-callback-script"}],
runAt: "document_idle"
});
Run Code Online (Sandbox Code Playgroud)
我注册的页面会更改其自己的 URL,而无需重新加载页面。不,不是 # 右侧的位,而是 # 左侧 URL 的位,但仍然位于同一域/应用程序上。我不认为网络扩展有用于 URL 更改回调的特定 API,仅适用于整页加载。URL 掩码“ https://www.example.com/messages/ *”在之前和之后都是正确的,我希望它能正常工作,但事实并非如此。
我很确定这window.onhashchange不是我想要的,而且window.addEventListener('popstate', listener);看起来也不是我想要的。如何在不每隔几秒轮询一次的情况下执行此操作?
我已成功完成choco install python2,choco install python3但我无法在cmd.exe上看到结果(是的,我重新打开了非管理员cmd.exe).
chocolatey安装命令在哪里?当我能找出应该存在的东西时,我会修复我的PATH env-var.
Choclatey的常见问题解答不包括这个问题的答案.我更习惯自制(Mac),答案就是/usr/local/bin/
我错误地配置了到 GAE(“灵活”变体)的部署,并让它运行了几个星期。我没有为 _ah/health 设置路由,它每四秒被 GAE 基础设施 ping 一次 - 导致异常命中日志,由 Web 框架提供。在我为记录不足的健康检查路线制作了路线之后,日志已填充到 35GB,这就是它们今天所在的位置。我在 UI 中找不到任何内容来允许我删除这些日志。
https://console.cloud.google.com/logs/是查看日志的主要位置,但没有关于如何删除它们的线索。
在Mac上,brew install something(在这种情况下为chromedriver),产量:
curl: (51) SSL: certificate verification failed (result: 5)
Error: Failed to download resource "chromedriver"
Download failed: https://chromedriver.storage.googleapis.com/2.22/chromedriver_mac32.zip
Run Code Online (Sandbox Code Playgroud)
Que pasa?
unit-testing ×2
chocolatey ×1
curl ×1
firefox-addon-webextensions ×1
git ×1
homebrew ×1
imapclient ×1
mocking ×1
pytest ×1
python ×1
python-2.7 ×1
rust ×1
ssl ×1
windows ×1