关于tck测试

  • nebula 版本:最新版

FAILED tck/steps/test_tck.py::test_indextest_rebuildedgeindexstatusinfo - AssertionError: Fail to finish job 453
FAILED tck/steps/test_tck.py::test_indextest_rebuild_all_tag_indexes_by_empty_input - AssertionError: Fail to finish job 456
FAILED tck/steps/test_tck.py::test_indextest_rebuild_all_tag_indexes_by_multi_input - AssertionError: Fail to finish job 458
FAILED tck/steps/test_tck.py::test_indextest_rebuild_all_edge_indexes_by_empty_input - AssertionError: Fail to finish job 460
FAILED tck/steps/test_tck.py::test_indextest_rebuild_all_edge_indexes_by_multi_input - AssertionError: Fail to finish job 462
FAILED tck/steps/test_tck.py::test_indextest_rebuild_tag_index_with_old_schema_version_value - AssertionError: Fail to finis…
FAILED tck/steps/test_tck.py::test_edge_with_complex_relational_in_filter - AssertionError: Fail to finish job 525
FAILED tck/steps/test_tck.py::test_tag_with_complex_relational_in_filter - AssertionError: Fail to finish job 531
FAILED tck/steps/test_tck.py::test_exists_with_dynamic_map_in_match - AssertionError: Fail to finish job 538
FAILED tck/steps/test_tck.py::test_test_tag_index_from_pytest - AssertionError: Fail to finish job 661
FAILED tck/steps/test_tck.py::test_test_edge_index_from_pytest - AssertionError: Fail to finish job 663

运行tck测试的时候经常会遇到index测试都失败的场景,我的解决方法是随便use一个space然后stop掉某个job,其他job就能完成,然后make fail就能通过测试。

问题是,space太多了,而且都是emptyGraphXXX的命名方式,很多时候都找不到哪个space有queue状态的job。

建议错误提示里加上space的名字,这样可以快速定位问题。

另外,请教一下,怎么可以只运行某个特定的feature。

1 个赞

错误加上 space 不解决你的问题,因为后面的测试有可能是其他 space,两个方向考虑:

  1. 当某个 case 失败了以后,重新启动一个新的集群,后面的用例用新集群去跑,不过因为我们是并发的。需要控制在启用新的集群时,不要继续执行测试。
  2. 执行完测试后,无论成功失败,自动把 space drop 掉。这个比较简单,我和其他人内部对一下。

readme 里有写,-k

1 个赞

另外,这个问题还因为,现在的 job 是集群级别的,后面我们会改成 space 级别的。
那只要后面的 job 在新的 space 里,就不会影响测试用例执行,也会好排查一些。

1.当某个 case 失败了以后,重新启动一个新的集群 这个有点难度,测试太多了,而且跑的时间也很长,我一般都是点了开始就不管了 :rofl:,很难实时发现有case失败了。我的意思其实是,报错的时候把这个错误所在的space也打印出来,这样我就知道哪个space有job还没stop,我直接use这个space就行了,不用一个个找哪个space还有没完成的job :sweat_smile:
2.好的,谢谢。

如果job改成space级别,那如果space太多,某个job queue住是不是就很难发现了。建议到时在任意space都可以把所有space没有finished的job打印出来,只要标上对应的space就好了。

1 的意思是加到框架里,不过因为并发,其实也不太好。

我知道你的意思了,就是报错有更详尽的上下文,然后你拉到最开始错误就能看到是哪个 space 了。
我想一下,应该好处理的

2 个赞

好的,就是这个意思,麻烦了

pr 已经提了

2 个赞

大佬太强了

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。