GithubHelp home page GithubHelp logo

Comments (17)

chutaro avatar chutaro commented on August 27, 2024 1
  • wings を動かす場合は self hosted で研究室サーバー上で動かすのが楽だと思っています(comポートの通信とかが大変そう)
  • AEさんのツールが github actions で動かせるかは AE さんに聞きたいですね。まだAE側でも整備段階だと思うので、アップデートあったら共有します。

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

pytestに必要なC2A側の機能

#76 (comment)

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

@chutaro c2a-aobcでもGitHub Actionsでpytestを回したいのですが、参考になるものがあれば教えてもらえると嬉しいです。

from c2a-aobc.

chutaro avatar chutaro commented on August 27, 2024

一方で、AEさん側で、wingsを使わずにc2aを実行し、pytestも実行するツール群を作成している気がしており、c2a-aobcが今後もAEさんと連携を密にする場合、AEの枠組みに乗った方が便利かつやりやすいのではないかという気もします。(いちおうメンションしておきます @sksat

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

ありがとうございます!

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

@chutaro これ、現状は手元で回していて、GitHubActions上ではまだ回していない感じですかね?参考になるyamlファイル見てみたいです。

from c2a-aobc.

chutaro avatar chutaro commented on August 27, 2024

wingsを動かすのが大変そうなので、self hosted で CI サーバー上でやるしかないかなと思っていて、ただまだ手を付けていない状態です。github 移行後は pytest 無しで進めています。

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

wingsを動かすのが大変そうなので

そういう感じなんですね。。。わかりました。
AEさん側で、wingsを使わずにc2aを実行し、pytestも実行するツール群を作成している気がしておりあたりが導入されたらGitHub Actionsでも動かせる感じですかね?

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

使おうとしてつまづいたところ

c2a-enum-loader

  • 次の部分でenumが読めず、エラーが出ている
    OEM7600_TLM_ID_RANGE_ASCII = OEM7600_TLM_ID_RANGE + 0x1000,
    • 右辺でOEM7600_TLM_ID_RANGEを使っているのが悪く、直接0x0000102Bと書けばエラーは出ない
  • 同様のエラーとして、ValueError: invalid literal for int() with base 10: XXH_rotl32が出るが、これはどの部分か不明。外部ライブラリであるxxHashに関連しているのはわかるが、XXH_rotl32はenumで使われていないので謎

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

ValueError: invalid literal for int() with base 10: XXH_rotl32

については、xxHash.c内で一行でenum定義されていたものを複数行に変えると解消された。XXH_rotl32は関係なかったのでエラー表示は謎ではある。

typedef enum { XXH_aligned, XXH_unaligned } XXH_alignment;

C2Aのcoding rule的には、改行する必要があるのだと思うが、xxHashは外部ライブラリから引っ張ってきたものなので、coding ruleを適応させたくはない。enum loaderからファイル指定で除外できると嬉しい。

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

#150 のとおり、上のエラーを除去した状況ではpytestが実行できるようになった。ただし、次の部分でつまづいた。

  • Cmd_APP_AOCS_MANAGER_SET_REFERENCE_TIMEコマンドをpytestしようとしたら、引数の方部分でエラーが出た。

このコマンドはdouble型を引数に持っているので、その部分でエラーが出たのではないかと思う。

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

CIに組み込むのは時間がかかりそうなので、別issueに切り出す。

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

Cmd_APP_AOCS_MANAGER_SET_REFERENCE_TIMEコマンドをpytestしようとしたら、引数の方部分でエラーが出た。

これはdouble型関係なく、引数が一つであることが問題っぽい。次のように,を引数の最後に入れるとエラー回避できたが、これが想定仕様なのかは微妙な気もする。

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

c2a-coreの方を見ても、引数ひとつの時は同じような書き方をしているようなのでそういう仕様ということなのかもしれない。ただ分かりづらく、どこにも記述がないので初めての人はハマってしまいやすそうな気がする。

https://github.com/ut-issl/c2a-core/blob/a7b384cc91be5ebaeb8d6ea52503037033c6b0aa/Examples/minimum_user/src/src_user/Test/test/src_core/System/EventManager/test_event_handler.py#L119

@chutaro 引数一つの時のこの現象についてコメントいただけると嬉しいです。

from c2a-aobc.

chutaro avatar chutaro commented on August 27, 2024

引数一つの時のこの現象

これはシンプルに python で tuple を使うときの文法の話だと思います
参考:https://note.nkmk.me/python-tuple-single-empty/

from c2a-aobc.

chutaro avatar chutaro commented on August 27, 2024

enum の足し算表記と、一行表記は enum loader の方では想定していなそうです。短期的には c2a のソースコードを修正することで対応していただけるとありがたいです!

from c2a-aobc.

200km avatar 200km commented on August 27, 2024

python で tuple を使うときの文法の話

ありがとうございます。pythonでは常識的な話という感じなんですかね。
AOCS向けにマニュアル作るときには注釈つけようと思います。

これとは別に、pytestで使う関数全体的にコメントが欲しいなとは思いました。今はコード全部読むか、他のコードを真似て書くしかない感じで少し面倒にかんじました。

短期的には c2a のソースコードを修正する

足し算表記は対応しました。#153
一行表記の方は外部からとってきたもので、ソースコードを修正するのはしたくなく除外ファイルとして扱いたいということで、issueを出させてもらっています。ut-issl/c2a-enum-loader#23

from c2a-aobc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.