Технология Azov автоматизации массового создания тестов работоспособности


Пример построения тестов по технологии Azov - часть 2


и ExposuresMode.

  • Возвращаемое всеми функциями значение является кодом ответа, который может сигнализировать о каких-либо проблемах, при этом возвращается значение BadValue. Тип результата в режиме нормальной работы этих функций можно уточнить, назвав его XScreenSaverResult

    и определив в качестве базового ограничения для его значений неравенство константе BadValue.

    Анализ возможности получения значения типа Display* дает следующие результаты.

    • Всего в LSB упоминается 18 функций, возвращающих значение типа Display*, и две функции, возвращающие ссылку на значение типа Display, из которой можно построить нужный указатель.
      6 из этих функций находятся в рамках библиотеки Xlib: XDisplayOfIM(), XDisplayOfOM(), XDisplayOfScreen(), XOpenDisplay(), XcmsDisplayOfCCC(), XkbOpenDisplay(). Остальные функции находятся в других библиотеках — X Toolkit, GTK, Open GL и Qt. Для простейших тестов предпочтительно использовать функции той же библиотеки, поэтому далее анализируются только первые 6 функций.

    • Из 6 выбранных функций 4 не могут быть использованы, потому что сами косвенно требуют уже иметь некоторое значение типа Display*.
      Например, XDisplayOfIM() имеет параметр типа XIM, для получения значения которого есть только 2 функции — XOpenIM() и XIMOfIC(). Первая требует на вход Display*, вторая — XIC, который, в свою очередь, может быть создан только функцией XCreateIC(), которая снова требует значения XIM; XDisplayOfScreen() требует параметра типа Screen*, который в Xlib может быть получен только из XDefaultScreenOfDisplay() и XScreenOfDisplay(), а они обе требуют параметра типа Display*.
      Описание функции XkbOpenDisplay() отсутствует в документации на Xlib.
      Остается только функция XOpenDisplay(), которая может быть использована, поскольку требует только параметра типа const

      char*, могущего принимать значение NULL при штатном использовании этой функции.

    Таким образом, тесты для рассмотренных функций могут быть построены следующим образом.

    • В качестве значений параметра Display* используется результат вызова XOpenDisplay() с аргументом NULL.




    • Начало  Назад  Вперед



      Книжный магазин