zoukankan      html  css  js  c++  java
  • ltp-ddt wdt_test

    # @name Watchdog Timer getsupport,settimeout,getstatus,keepalive ioctl and write test
    # @desc Watchdog Timer getsupport,settimeout,getstatus,keepalive ioctl and write test
    # @requires watchdog

    WDT_S_FUNC_GETSUPORT source 'common.sh'; do_cmd install_modules.sh 'wdt' ; DEV_NODE=`get_devnode.sh "wdt"` || die "error getting devnode for wdt"; do_cmd wdt_tests -device $DEV_NODE -ioctl getsupport
     
     
    wdt_tests -device /dev/watchdog -ioctl getsupport
     
    wdt_tests是c代码
     
    SOURCES :=
            ../utils/user/st_fileapi.c
            src/interface/common/st_wdt_common.c
            src/parser/st_wdt_parser.c
            src/testcases/st_wdt_ioctl.c
            src/testcases/st_wdt_open_close.c
            src/testcases/st_wdt_write.c

    MAKE_TARGETS            := wdt_tests

    wdt_tests:
        $(CC) $(CFLAGS) $(LDFLAGS) -o wdt_tests ${INCLUDES} ${SOURCES}
     
    main函数位于:
    st_wdt_parser.c
     
    /****************************************************************************
     * Function        - Main function
     * Functionality    - This is where the execution begins
     * Input Params        - argc,argv
     * Return Value        - None
     * Note            - None
     ****************************************************************************/
    int main(int argc, char *argv[])
    {

        int retval;
        /* Initialize options with default vales */
        st_init_wdt_test_params();

        /* Invoke the parser function to process the command line options */
        retval = st_process_wdt_test_options(argc, argv);
        return retval;
    }
     
    1.
    st_init_wdt_test_params(); //初始化 in  st_wdt_common.c
    void st_init_wdt_test_params(void)
    {
        strcpy(testoptions.device , DEFAULT_DEVICE);
        testoptions.ioctl = DEFAULT_IOCTL;
        testoptions.loop = DEFAULT_LOOP_COUNT;
        testoptions.ioctl_arg = DEFAULT_IOCTL_ARG;
        testoptions.iomode = DEFAULT_IOMODE;
    }
     
    #define DEFAULT_IOMODE        ST_WDT_IOMODE_NONE
    #define DEFAULT_DEVICE        "/dev/watchdog"
    #define DEFAULT_IOCTL         ST_WDT_IOCTL_NONE
    #define DEFAULT_LOOP_COUNT    1
    #define DEFAULT_IOCTL_ARG     0
     
    2.
    retval = st_process_wdt_test_options(argc, argv); //in st_wdt_parser.c
     
     
    int c = getopt_long_only(argc, argv, "vh", long_options,
                         &option_index); //获取参数
    TEST_PRINT_TST_START(testcaseid);  //打印start
    st_print_wdt_test_params(&testoptions, testcaseid);  //打印参数
    fileDesc = st_wdt_open(&testoptions);  //open wdt
    ret_val2 = st_wdt_ioctl_test(&testoptions, testcaseid, fileDesc);  //
    TEST_PRINT_TST_RESULT(result, testcaseid);  //打印result
    TEST_PRINT_TST_END(testcaseid);  //打印end
    ioctl(fileDesc, WDIOC_GETTIMEOUT, &timeout); //取超时时间
     
    一旦/dev/watchdog被打开,则watchdog激活,并且除非喂狗,否则将在一段时间之后重启。
     
     
     
     
     
     
     
  • 相关阅读:
    tensorflow 镜像
    TDD、BDD、DDD
    Node.js结合Selenium做Web自动化测试
    Selenium 对元素element的操作举例
    Selenium UI 举例 getCssValue
    《测之重器——自动化测试框架搭建指南》
    《Robot Framework自动化测试修炼宝典》道长
    SQLServer中round函数
    SQLServer中对时间和长度的处理
    SQLServer中获取所有数据库名、所有表名、所有字段名的SQL语句
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/10910065.html
Copyright © 2011-2022 走看看