问题标签 [sanity-check]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
515 浏览

ios - 应用程序中使用的 iOS API 版本的完整性检查

我有一个应用程序,我支持 4.3 的部署目标和 6.x 的基本 SDK。

我发现自己必须弱链接 API 方法,并根据“使用基于 SDK 的开发”文档中的策略为较旧的运行时提供替代解决方法。

我面临的问题是,偶尔和无意中,我会使用一种仅在较新的 SDK 中可用的方法,而没有意识到这一点,并且没有弱链接该方法。这会导致在旧版操作系统上运行应用程序的用户崩溃。

虽然我知道拥有旧运行时(iOS 4.3)的用户数量正在减少,但我想知道是否有工具或方法可以让我们生成报告,列出 SDK 中可用的 API,而不是部署目标,以便我可以在交付产品之前检查代码以确保执行正确的弱链接。

在我的脑海中,将源代码编译到旧版本的 SDK 应该会引发错误,但话又说回来,Apple 的策略一直是在不使用旧 SDK 的情况下发布新的 XCode。

我不是在寻找完美的解决方案。任何其他解决方法也会有所帮助。

0 投票
1 回答
473 浏览

android - 如何在android上自动化基本的理智?

我的目标是运行一个自动化测试,以检查我的 android 构建在设备上加载后的最低限度

  1. 启动到主屏幕
  2. 打开/关闭 WIFI
  3. 打开/关闭BT
  4. 启动相机 - 拍摄快照
  5. 切换到摄像机 - 拍摄短片
  6. 运行音频和视频
  7. 将通过的和失败的记录到文件中。

我想在 Windows 主机上完全使用 adb.exe 来完成这项工作。

我想知道的是如何从 adb shell 命令行测试上述每个选项?

提前致谢!

0 投票
1 回答
239 浏览

python - 遍历列表,保留一些实体

我正在尝试覆盖现有列表并跳过列表中的任何索引 where value[i] = -1,将该值保留在正确的索引处。

一个问题是 last_item 值似乎环绕到列表的末尾,有没有办法防止这种情况发生?否则,有没有更好的方法来做到这一点?这对于所有的逻辑来说似乎都太笨拙了。

数据如下:

我试图让它看起来像这样:

编辑 我修改了 Alex 在下面发布的代码,现在运行良好。这是我使用的代码:

0 投票
1 回答
180 浏览

java - 使用java检查url是向上还是向下

我有一个 20-30 个 url 的列表,需要使用 java 程序检查它们是向上还是向下。打开之前的网址需要用户输入用户名/密码,这必须自动化。我无法决定为此使用什么。如果有人之前做过或可以想到解决方案,请提供帮助。

谢谢。

0 投票
0 回答
1137 浏览

ssl - 由于健全性检查失败,ssl 连接失败

我正在努力在 java 服务器和 tls 客户端之间建立一个安全的通信通道。握手期间,一切顺利,客户端 Hello 和服务器 Hello 消息正确。此外,它们都为参与的会话生成相同的主密钥。但是在握手的真正结束时,服务器会抛出一个异常,告诉“密文完整性检查失败”。

客户端跟踪

服务器端:

我无法理解的是为什么服务器在成功解密从客户端发送的 ChangeCipherSpec 消息时会启动这样的异常?这种异常的原因可能是什么?

注意:我已经检查过了,他们都派生了相同的主密钥,这里是:

服务器端

客户端

提前感谢你们。

0 投票
1 回答
534 浏览

c++ - C++ 完整性检查失败:几个变量/内存位置被更改为垃圾,即使我从未访问它们

我正在实施一个跳过列表。它是什么并不重要,但它现在适用于 1000 个节点,但不适用于 10000 个节点。我得到了没有意义的 SegFaults,所以我打印了一些变量。令我惊讶的是,很多不应该改变的东西,变成了垃圾值。例如,我在函数 insertNode 之前和之后打印 inputValue。它有时会重置为零,而应始终递增。我们看代码(跳过读取文件输入,问题发生在while循环):

我跑了 Valgrind。无效的内存写入/读取发生在变量发生变化之后,至少我相信如此。这就是我添加完整性检查的原因。正如我所想的那样,在尝试访问密钥之前没有无效的内存写入/读取[9999999999999999999999]。但是该行只能运行 int sanitycheck 已更改,而我从来没有这样做过。

最后,这是 insertNode 的代码。我看不到任何可能导致这种情况的东西:

和结构:

我什至没有使用 malloc。有指针操作,但是 valgrind 应该检测我是否做错了什么,对吗?如果我的内存不足,就会出现异常。我创建但从不访问/写入/更改的 int 怎么可能被修改?对不起,很长的帖子,但我不知道问题可能出在哪里。

没有完整性检查的 Valgrind 输出(键 [999...9]): http: //pastebin.com/hWH3fri2

第 155 行是 while (inputFile >> inputKey)

0 投票
3 回答
53 浏览

javascript - JSON解析不起作用javascript

我对一些问题感到疯狂,我不知道如何解决它。我正在尝试解析一个简单的 json 字符串并用它来更新我网站的内容。

这导致:

未定义

029348203984

所以读出数字就可以了。但是 OID 并不顺利。在我的另一段代码中它工作正常

这有效

0 投票
0 回答
124 浏览

git - Git 存储库中的 Dropbox 冲突备份文件

我在 Dropbox 中保留了一些 Git 存储库,由于不同计算机之间的一些 Dropbox 同步故障(computerXcomputerB下文中),我认为有文件

我有点担心只是简单地删除所有这些。有人对在摆脱这种情况之前如何进行健全性检查有建议吗?

0 投票
0 回答
33 浏览

xslt - “滥用”用于完整性检查

我发现自己使用了很多很多密钥,有时我会在其中进行健全性检查,例如:

(这实际上是一个非常简单的测试 - 实际测试可能非常复杂。)这让我想到,在我实际上不需要密钥而只需要健全性检查的情况下,为什么不使用密钥呢?例如:

我意识到除非我实际使用密钥,否则撒克逊不会终止,例如

但是,我可以确定 XSLT 处理器实际上会以这种模式终止吗?我想这不是钥匙的设计方式。

背景:吸引力较小的替代品(如果 tl;dr 则忽略)

我意识到 Schematron 可以替代这种方法,但由于这些测试可能不是关于文档有效性,而是关于样式表是否能够处理文档,我发现由样式表本身实现的测试非常有吸引力。

另一种选择可能是使用模板而不是键。我在这里看到两个选项:

  1. 在常规处理期间,测试和终止模板会取代“正常”模板。但是,在常规处理期间,并非所有需要测试的节点都必须由可以被否决的模板匹配处理。
  2. 使用模板运行单独的测试,如下所示:

    /li>

密钥仍然具有优势,因为无需额外努力就可以进行无法以简单模式表示的更复杂的检查。使用模板,这将需要这样的结构:

这里有两个缺点:

  1. 需要更多样板代码。如果我们在那里犯了错误,测试将无法正确执行,但我们不会注意到。我们需要:
    • 像模板一样的“身份转换”
    • <xsl:apply-templates mode="sanity-check" select="node()|@*"/>在每个包含更复杂测试的模板中。
  2. 重叠测试的问题,例如一个带有match="A|B",另一个带有match="B|C",都需要一些<xsl:choose>/<xsl:if>来决定我们是否需要终止。一个元素<B>只会匹配其中一个模板。使用键,无需担心重叠匹配。
0 投票
3 回答
910 浏览

javascript - 检查 JSON 对象的完整性

我必须一次又一次地处理代码,例如考虑以下假设示例:

现在,问题是如果节点未定义,则此条件将中断。同样,如果 node.data 未定义,node.data.creatures 未定义等等,它将中断。

所以我最终使用了以下长条件:

现在,想象一下我也必须在代码的许多其他部分中使用该 JSON 对象的一部分。

代码突然开始看起来非常难看。由于我提到的第一个条件,有没有更好的方法来避免诸如“无法调用未定义的属性”之类的错误,这样代码看起来也更好。

你如何处理这种情况?