Explorar el Código

add: os接口测试demo

许璐 hace 9 meses
padre
commit
8704187de5
Se han modificado 1 ficheros con 124 adiciones y 0 borrados
  1. 124 0
      module/Air780EPM/demo/os/main.lua

+ 124 - 0
module/Air780EPM/demo/os/main.lua

@@ -0,0 +1,124 @@
+
+PROJECT = "os_test"
+VERSION = "1.0.0"
+local function test_os_remove()
+    log.info("os.remove", "测试开始")
+    -- 先创建一个测试文件
+    local testFile = "/test_remove.txt"
+    local f = io.open(testFile, "w")
+    if f then
+        f:write("test content")
+        f:close()
+        log.info("os.remove", "测试文件创建成功")
+    else
+        log.error("os.remove", "无法创建测试文件")
+        return
+    end
+
+    -- 测试删除文件
+    local result, err = os.remove(testFile)
+    if result then
+        log.info("os.remove", "文件删除成功")
+    else
+        log.error("os.remove", "文件删除失败", err)
+    end
+
+    -- 测试删除不存在的文件
+    result, err = os.remove("/nonexistent.txt")
+    if not result then
+        log.info("os.remove", "删除不存在文件返回预期结果", err)
+    end
+end
+
+-- 测试 os.rename() 文件重命名功能
+local function test_os_rename()
+    log.info("os.rename", "测试开始")
+    -- 创建源文件
+    local srcFile = "/test_rename_src.txt"
+    local f = io.open(srcFile, "w")
+    if f then
+        f:write("test content")
+        f:close()
+        log.info("os.rename", "源文件创建成功")
+    else
+        log.error("os.rename", "无法创建源文件")
+        return
+    end
+
+    -- 目标文件路径
+    local dstFile = "/test_rename_dst.txt"
+
+    -- 测试重命名
+    local result, err = os.rename(srcFile, dstFile)
+    if result then
+        log.info("os.rename", "文件重命名成功")
+
+        -- 验证新文件是否存在
+        if io.open(dstFile, "r") then
+            log.info("os.rename", "验证新文件存在")
+            os.remove(dstFile)
+        end
+    else
+        log.error("os.rename", "文件重命名失败", err)
+        os.remove(srcFile)
+    end
+
+    -- 测试重命名不存在的文件
+    result, err = os.rename("/nonexistent_src.txt", "/nonexistent_dst.txt")
+    if not result then
+        log.info("os.rename", "重命名不存在文件返回预期结果", err)
+    end
+end
+
+-- 测试 os.date() 和 os.time() 功能
+local function test_os_date_time()
+    log.info("os.date/time", "测试开始")
+
+    -- 获取当前时间戳
+    local currentTimestamp = os.time()
+    log.info("os.time", "当前时间戳", currentTimestamp)
+
+    -- 测试 os.date() 各种格式
+    log.info("os.date", "默认格式本地时间", os.date())
+    log.info("os.date", "默认格式UTC时间", os.date("!%c"))
+    log.info("os.date", "自定义格式本地时间", os.date("%Y-%m-%d %H:%M:%S"))
+    log.info("os.date", "自定义格式UTC时间", os.date("!%Y-%m-%d %H:%M:%S"))
+
+    -- 测试特定时间
+    local testTime = {year=2000, mon=1, day=1, hour=0, min=0, sec=0}
+    local testTimestamp = os.time(testTime)
+    log.info("os.time", "2000-01-01 00:00:00 时间戳", testTimestamp)
+    log.info("os.date", "格式化特定时间", os.date("!%Y-%m-%d %H:%M:%S", testTimestamp))
+
+    -- 测试获取时间表
+    local localTimeTable = os.date("*t")
+    log.info("os.date", "本地时间表", json.encode(localTimeTable))
+    local utcTimeTable = os.date("!*t")
+    log.info("os.date", "UTC时间表", json.encode(utcTimeTable))
+
+    -- 测试 os.difftime()
+    local time1 = os.time()
+    sys.wait(1000) -- 等待1秒
+    local time2 = os.time()
+    local diff = os.difftime(time2, time1)
+    log.info("os.difftime", "时间差(应该约等于1)", diff)
+end
+
+-- 主测试函数
+local function test_all()
+    log.info("OS接口测试", "===== 开始测试 =====")
+    test_os_remove()
+    test_os_rename()
+    test_os_date_time()
+    log.info("OS接口测试", "===== 测试完成 =====")
+end
+
+-- 启动测试
+sys.taskInit(function()
+    sys.wait(1000) -- 等待系统初始化
+    test_all()
+end)
+-- 用户代码已结束---------------------------------------------
+-- 结尾总是这一句
+sys.run()
+-- sys.run()之后后面不要加任何语句!!!!!