NSS sources building testing

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

Obtener el código fuente de los Servicios de seguridad de red (NSS) , cómo construirlo y cómo ejecutar su conjunto de pruebas.

Obtener el código fuente y una descripción rápida

La forma más fácil es descargar archivos de versiones NSS del servidor de descargas de Mozilla . Encuentre el directorio que contiene el número de versión más alto. Debido a que NSS depende de la biblioteca base NSPR , debe descargar el archivo que combina NSS y NSPR.

Si es un desarrollador de software y tiene la intención de aportar mejoras a NSS, debe obtener la última instantánea de desarrollo de NSS utilizando mercurial / hg (una herramienta de administración de control de fuente distribuida ). Para comenzar, el acceso anónimo de solo lectura es suficiente. Cree un nuevo directorio en su computadora que usará como su área de trabajo local y ejecute los siguientes comandos.

hg clone https://hg.mozilla.org/projects/nspr
hg clone https://hg.mozilla.org/projects/nss

Después de completar los comandos anteriores, debe tener dos directorios locales, llamados nspr y nss, uno al lado del otro.

(Información histórica: el código fuente NSPR y NSS se ha reorganizado recientemente en una nueva estructura de directorios. En versiones anteriores, todos los archivos estaban ubicados en una jerarquía de directorios que comenzaba con el prefijo "mozilla". La biblioteca base de NSPR estaba ubicada en el directorio mozilla / nsprpub. Los subdirectorios dbm, security / dbm, security / coreconf, security / nss fueron parte de las fuentes de NSS).

El directorio nss contiene los siguientes subdirectorios importantes:

  • nss / coreconf
    Contiene conocimiento para la construcción multiplataforma.
  • nss / lib
    Contiene todo el código de biblioteca que se utiliza para crear las bibliotecas de tiempo de ejecución utilizadas por las aplicaciones.
  • nss / cmd
    Contiene un conjunto de varios programas de herramientas que se crean utilizando NSS. Varias herramientas son de uso general y se pueden usar para inspeccionar y manipular los archivos de almacenamiento que el software que usa la biblioteca NSS crea y modifica. Otras herramientas solo se utilizan con fines de prueba. Sin embargo, todas estas herramientas son buenos ejemplos de cómo escribir software que hace uso de la biblioteca NSS.
  • nss / test
    Este directorio contiene el conjunto de pruebas NSS, que se usa de manera rutinaria para garantizar que los cambios en NSS no introduzcan regresiones.

Es importante mencionar la diferencia entre el código NSS interno y las interfaces exportadas. El software que quisiera usar la biblioteca NSS debe usar solo las interfaces exportadas. Estos se pueden encontrar mirando los archivos con la extensión de archivo .def, dentro de la jerarquía de directorios nss / lib. Cualquier función C que no esté contenida en archivos .def es estrictamente para uso privado dentro de NSS, y las aplicaciones y herramientas de prueba no pueden llamarlas. Para todas las funciones que se enumeran en los archivos .def, NSS promete que la interfaz de funciones binarias (ABI) se mantendrá estable.

Compilando NSS

El proceso de compilación está dirigido por Makefiles desde las ventanas de la consola. Debido a los requisitos de portabilidad multiplataforma, la compilación puede comportarse de manera diferente a lo que está acostumbrado. En particular, NSS no usa scripts de configuración. Puede establecer variables de entorno para definir qué variación de compilación desea.

En un sistema similar a Linux / Unix, use el shell bash. En un sistema Windows, debe descargar el paquete de compilación de Windows proporcionado por el proyecto Mozilla.org, que le proporcionará un entorno de línea de comandos similar, suficiente para los propósitos de compilación.

Asegúrese de que las fuentes NSPR y NSS estén una al lado de la otra, debajo del mismo directorio principal. Si descargó un archivo fuente nss-with-nspr publicado recientemente del directorio de lanzamiento de NSS en el servidor FTP (versión 3.15 o posterior), ya estará organizado de esa manera.

Para comenzar el proceso de construcción, use "cd nss" y ejecute "make nss_build_all". De forma predeterminada, esto generará una compilación en modo de depuración y para una arquitectura de 32 bits. Puede configurar la variable de entorno BUILD_OPT = 1 para obtener una compilación optimizada, y / o la variable USE_64 = 1 para obtener una compilación de 64 bits.

Una vez realizada la compilación, puede encontrar el resultado de la compilación debajo del directorio dist / *. OBJ, donde * será un nombre derivado dinámicamente de la arquitectura de su sistema. Los archivos de encabezado exportados para aplicaciones NSS se pueden encontrar en el directorio "incluir", los archivos de biblioteca en el directorio "lib" y las herramientas en el directorio "bin". Para ejecutar las herramientas, debe configurar el entorno del sistema para utilizar las bibliotecas de su compilación desde el directorio "lib", por ejemplo, utilizando la variable de entorno LD_LIBRARY_PATH.

La siguiente página puede tener información adicional de interés .

Ejecutando el conjunto de pruebas NSS

Esta es una parte importante del trabajo de desarrollo, para garantizar que sus cambios no introduzcan regresiones. Al agregar nuevas funciones a NSS, también se deben agregar pruebas para la nueva función.

Debe compilar NSS antes de ejecutar las pruebas. Después de que la compilación en su computadora haya tenido éxito, antes de que pueda ejecutar las pruebas en su computadora, puede ser necesario establecer variables de entorno adicionales. Las pruebas NSS iniciarán las herramientas del servidor TCP / IP en su computadora, y para que eso funcione, el conjunto de pruebas NSS necesita saber qué nombre de host pueden usar las herramientas del cliente para conectarse a las herramientas del servidor. En las máquinas que están configuradas con un nombre de host que se ha registrado en el DNS de su red, esto debería funcionar automáticamente. En otros entornos (por ejemplo, en redes domésticas), puede establecer las variables de entorno HOST y DOMSUF (para sufijo de dominio) para indicarle al conjunto de NSS qué nombre de host usar. Como prueba, debe ser posible utilizar con éxito el comando "ping $ HOST. $ DOMSUF" en su computadora (ping informa que recibe respuestas). En muchas computadoras, las variables HOST = localhost DOMSUF = localdomain funcionan. En caso de que haya creado NSS en 64 bits, debe establecer la variable de entorno USE_64 en 1 para ejecutar las pruebas.

Después de haber configurado las variables de entorno requeridas, use "cd nss / tests" e inicie las pruebas usando "./all.sh". Las pruebas tardarán un tiempo en completarse; en una computadora lenta puede tomar un par de horas.

Una vez que se haya completado el conjunto de pruebas, se imprimirá un resumen que muestra el número de fallas. Puede encontrar los resultados del conjunto de pruebas en el directorio nss /../ tests_results (es decir, el directorio de resultados termina al lado del directorio nss, no dentro de él). Cada ejecución del conjunto de pruebas creará un nuevo subdirectorio; debes limpiarlos de vez en cuando. Dentro del directorio encontrará el archivo de texto output.log, que contiene un informe detallado de todas las pruebas que se están ejecutando. Para conocer los detalles de las fallas de la prueba, busque en el archivo la prueba en mayúscula FALLIDA.

Si lo desea, es posible ejecutar solo subconjuntos de las pruebas. Lea el contenido del archivo all.sh para aprender cómo funciona.

Etiquetas y colaboradores del documento

Colaboradores en esta página: yhansosa, mdnwebdocs-bot, tripotedany
Última actualización por: yhansosa,